我希望能够通过请求作用域变量或其他方式向内容槽传递一些补充信息。
我在我的召唤ISML中尝试过这样的方法:
<isset name="message" scope="request" value="I want to be an Air Force Ranger" />
<isslot id="slot-message" context="global" description="banner"/>在呈现模板中,我有:
<iscontent type="text/html" charset="UTF-8" compact="true"/>
<iscache type="relative" hour="24"/>
<h3>${request.custom.message}</h3>但是,在输出HTML中,我只得到:
<h3>null</h3>有什么方法可以将对象或字符串传递给内容槽吗?
发布于 2018-11-29 23:03:34
内容资产无法访问创建或传递给ISML的数据。但是,可以通过将数据添加到DOM中,然后在内容资产中读取数据来解决这个问题:
<div class="banner-data" data-message="${message}">
<isslot id="slot-message" context="global" description="banner"/>
</div>然后,在您的内容资产中,您可以读取消息并使用它:
<script>
var bannerData = $('.banner-data').data();
var message = bannerData["message"];
</script>发布于 2019-02-27 20:34:09
内容资产不知道它们嵌入的页面。这是故意的。但是,您可以使用$include()$将HTML嵌入到内容中,后者从指定的控制器获取html,或者使用任何$url-方法链接到站点上的另一个页面。
在内容模板中,还可以分别使用${slotcontent}和${slotcontent.content}从内容槽或内容本身引用数据。
https://stackoverflow.com/questions/53529900
复制相似问题