在一个页面里面插入组件弹出窗口。当用户尝试选择组件和模板时,如何 *限制他们选择组件列表中已经存在的组件和模板的相同组合。
我想在插入按钮上写一个 javascript。请建议我是否以正确的方式进行。
在一个页面里面插入组件弹出窗口。当用户尝试选择组件和模板时,如何 *限制他们选择组件列表中已经存在的组件和模板的相同组合。
我想在插入按钮上写一个 javascript。请建议我是否以正确的方式进行。
正如巴特在上面所说,您的问题非常模糊,但这是一个答案尝试,因为我刚刚做了类似的事情。鉴于含糊不清,我假设您对 JS 代码有深入了解,而我在这里的内容对您来说很有意义:)
在您的 javascript 中,当您的用户单击列表中的给定 cp 时,您可能会将选定的组件表示存储在属性中,例如:
// keeps stock of the current selected component presentation
p.selectedComponentPresentation;
简单地使用:
var componentPresentation = p.selectedComponentPresentation;
并设置你可以看到我首先得到选项卡控件,存储组件presentationTab并从那里调用getSelectedComponentPresentation():
var masterTabControl = $controls.getControl($("#MasterTabControl"),
"Tridion.Controls.TabControl");
p.compPresTab = masterTabControl.getPage("ComponentPresentationsTab");
p.selectedComponentPresentation
= p.compPresTab.getSelectedComponentPresentation();
我再次希望这是有道理的,我也假设现在你会知道如何获取 pageId
如果您在 Component 弹出窗口中,您可以通过以下方式获取 Component 的 ID
$display.getItem().getId()
这实际上适用于任何项目编辑弹出窗口(页面和其他项目类型也是如此)。
它在主仪表板视图中不起作用(因此您在左侧看到树,在右侧看到列表),因为您没有单个“当前项目”。
您必须使用有关代码运行位置的信息来更新您的问题,因为我现在还不清楚。据我所知,Web GUI 中没有地方同时拥有“当前组件”和“当前页面”。