簡體   English   中英

使用 ISSLOT 標簽獲取插槽項目的位置

[英]Get position of slot item using ISSLOT tag

實際上我正在使用 isslotiterator 並且我必須在循環中使用循環來獲取具有屬性counter的每個插槽項目的位置。

我想知道是否可以通過<isslot>獲得位置。 想象一下,我有一個包含 3 個條目的插槽。

因此,當我在插槽項<isslot>中調用<isslot> ,我可以這樣做:#Pagelet:Position#

然后結果為:1 / 2 / 3

不幸的是, position不是Pagelet類型的特征。 如果成功執行此操作,您需要使用PageletAssignment 因此,您需要使用PageletAssignment:Position而不是Pagelet:Position PageletAssignment:Position

isslot正在為您的“slot item isslot准備渲染字典,其中不包含導致此“slot item”的分配。 它只包含項目本身(又名 pagelet)。 原因是插槽可以定義一個Pagelet Pipeline ,它完全動態地確定 pagelet,而無需分配。

我的建議:要么使用isslotiteratorAssignmentsAlias (簡單),要么使用在插槽的 slotdefinition 中定義的 pagelet 管道(更復雜)。

不,我不認為這是可能的。 <isslot>不會向下傳遞 pagelet 的位置信息,它只是呈現它。 為了更好地控制插槽項目的呈現方式,引入了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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM