如何解决使用ISSLOT标签获取广告位的位置
实际上,我正在使用isslotiterator,并且必须使用循环循环来获取具有属性counter
的每个广告位项目的位置。
我想知道是否可以通过<isslot>
获得职位。
想象一下,我有一个包含3个条目的插槽。
因此,当我在广告位项目ISML中调用<isslot>
时,我可以这样做:
#Pagelet:位置#
那么结果是:1/2/3
解决方法
不幸的是,position
不是类型Pagelet
的特征。如果成功完成此操作,则需要使用PageletAssignment
。因此,您需要使用Pagelet:Position
来代替PageletAssignment:Position
。
但是
isslot
正在为您的“广告位项目ISML”准备一个渲染字典,其中不包含导致该“广告位项目”的分配。它仅包含项目本身(也就是小页面)。原因是广告位可以定义Pagelet Pipeline
,从而可以完全动态地确定分页,而无需分配。
我的建议:要么将isslotiterator
与AssignmentsAlias
一起使用(简单),要么使用在您的广告位的广告位定义中定义的Pagelet管道(更复杂)。
不,我认为这是不可能的。 <isslot>
不会将位置信息传递给小页面,而只是呈现它。为了更好地控制广告位项目的呈现方式,引入了isslotiterator
标签。
如果您不想使用计数器,则可以从SlotPageletAssignment
对象获取位置信息。
看看演示主页上的Carousel组件。
app_sf_responsive_cm/release/templates/default/component/common/Carousel.isml
您可以看到他们使用AssignmentsAlias
键来获取SlotPageletAssignment
<isslotiterator Slot="#Pagelet:SubSlot("app_sf_responsive_cm:slot.carousel.items.pagelet2-Slot")#" AssignmentsAlias="CarouselPageletAssignments">
<isloop iterator="CarouselPageletAssignments" alias="CarouselPageletAssignment" counter="i">
#CarouselPageletAssignment:Position# - #CarouselPageletAssignment:getSubPagelet#<br/>
</isloop>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。