Chr*_*ers 8 tridion tridion-2011
我为SDL Tridion创建了一个新的编辑器,它为功能区栏添加了一些新功能.通过将以下代码段添加到editor.config来启用此功能
<!-- ItemCommenting PowerTool -->
<ext:extension assignid="ItemCommenting" name="Save and<br/>Comment" pageid="HomePage" groupid="ManageGroup" insertbefore="SaveCloseBtn">
<ext:command>PT_ItemCommenting</ext:command>
<ext:title>Save and Comment</ext:title>
<ext:issmallbutton>false</ext:issmallbutton>
<ext:dependencies>
<cfg:dependency>PowerTools.Commands</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="*" />
</ext:apply>
</ext:extension>
Run Code Online (Sandbox Code Playgroud)
这通过在节点中使用通配符值应用于所有视图.这导致我的新按钮被添加到每个视图的功能区中,包括主仪表板.有没有办法将此添加到除仪表板之外的所有视图?或者我必须创建这样的东西?
<ext:apply>
<ext:view name="PageView" />
<ext:view name="ComponentView" />
<ext:view name="SchemaView" />
</ext:apply>
Run Code Online (Sandbox Code Playgroud)
如果这是实现我需要的结果的唯一方法,是否有一个所有视图名称的列表?
Jaime提供的解决方法将不会起作用,因为:
isAvailable
相应命令的方法将返回false,则Ribbon工具栏将仅在"创建"选项卡上隐藏按钮.Tridion.Controls.RibbonButton界面.这意味着,当你试图Tridion.Controls.Button控制同一个元素时 - 你会得到完全不同的控制,基于相同的html元素.因此RibbonToolbar不会知道它,它将无法正常工作.var toolbar = $controls.getControl($("#ItemToolbar"), "Tridion.Controls.RibbonToolbar");
var page = toolbar.getPageById("HomePage");
page.hideItem(buttonId);
page.showItem(buttonId);
Run Code Online (Sandbox Code Playgroud)
至于原始问题,这里是非常简单和最简单的解决方案:
<ext:add>
<ext:extension assignid="ItemCommenting" name="Save and<br/>Comment" pageid="HomePage" groupid="ManageGroup" insertbefore="SaveCloseBtn">
<ext:command>PT_ItemCommenting</ext:command>
<ext:title>Save and Comment</ext:title>
<ext:issmallbutton>false</ext:issmallbutton>
<ext:dependencies>
<cfg:dependency>PowerTools.Commands</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="*" />
</ext:apply>
</ext:extension>
</ext:add>
<ext:remove>
<ext:extension id="ItemCommenting">
<ext:apply>
<ext:view name="DashboardView" />
</ext:apply>
</ext:extension>
</ext:remove>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |