【发布时间】:2017-07-18 23:06:29
【问题描述】:
我有一个小部件配置,在属性中有以下设置: 当用户通过页面选择器选择 Page 并且现在想要选择 Tiles 时,我想在 Uni Selector 的选择网格中显示 Page 的所有子项.我怎样才能做到这一点?
我试图添加一些“where”条件,但到目前为止没有运气。
【问题讨论】:
标签: kentico
我有一个小部件配置,在属性中有以下设置: 当用户通过页面选择器选择 Page 并且现在想要选择 Tiles 时,我想在 Uni Selector 的选择网格中显示 Page 的所有子项.我怎样才能做到这一点?
我试图添加一些“where”条件,但到目前为止没有运气。
【问题讨论】:
标签: kentico
您通常可以通过宏访问另一个字段 {% Page.Value %} 或者如果这不起作用,那么 {% Fields["Page"].Value %}
首先尝试这些,具体取决于页面返回的内容(通常页面选择器返回 GUID,因此您的 where 条件必须基于此)。
另一个注意事项是对象类型 CMS.document 可能不包括 CMS_Tree 数据。无论如何,不建议您选择文档,因为诸如工作流程之类的事情,因为选择树节点更安全,因为只有 1 个“节点”可以有许多文档(语言变体)。
如果您将 Tiles 切换为 Node,那么位置将是:
NodeParentID = (Select top 1 NodeID from CMS_Tree where NodeGUID = '{% Page.Value %}')
如果您需要将其保留为 Document,那么您会想要
DocumentNodeID in (SELECT NodeID FROM CMS_Tree where NodeParentID = (Select top 1 NodeID from CMS_Tree where NodeGUID = '{% Page.Value %}'))
最后,如果您尝试创建多对多关系,我现在正在完成一个多对多选择器工具,以便您可以使用自定义绑定类。如果你想要早点,给我发消息@devtrev.com
【讨论】: