我如何(重新)构建计划的 CMS 组件的优先级

How can I (re)build the priority of a scheduled CMS component

我目前遇到了一个奇怪的错误。

我有一个带插槽的包含,我正在我的 ISML 中获取它,然后我手动循环以获取每个项目的位置:

//ParentSlot.isml
<isslotiterator Slot="#Pagelet:SubSlot("rajasmart_app_sf_responsive:slot.rajasmart.menu.catalog.pagelet2-CatalogItems")#" AssignmentsAlias="SlotAssignmentItems">

<isloop iterator="SlotAssignmentItems" alias="SlotAssignmentItem">
    <li>
       <ispageletassignment PageletAssignment="#SlotAssignmentItem#">
    </li>
 </isloop>

//ChildItem.isml
<isGetSlotPosition Pagelet="#Pagelet#" SlotPosition="position">

正如您在后台看到的那样,它是第一个 :

但是在我的店面中它是从第三个开始的:

你有什么想法吗?

如果您期望管理应用程序中显示的优先级在语义上与 PageletAssignmentposition 特征相同,那么答案是:恐怕不是。

The priority value is defined by the index within a sorted set of position numbers.

假设您有像 (38,54,11,77) 这样的位置编号。该算法将这些数字排序为 (11,38,54,77)。显示的优先级值为 (1,2,3,4)。 position 属性基本上是 just 存储在数据库中的值。优先级只是为了帮助您掌握显示内容的顺序。

如果位置属性不适合你,你可以使用一个简单的循环计数器。