此按钮会为我的客户端带来很多问题,因为它始终使用预定义的架构。我无法找到一种方法来使用我的编辑器配置删除此按钮。我用其他按钮完成了这个,但是这些按钮是在某种子组中实现的。
在我的个人沙箱机器上,我尝试删除下面显示的../WebUI/Editors/CME/Controls/Toolbars/Tabs/CreateRibbonPage.ascx文件摘录中的注释掉控件:
<c:RibbonSplitButton runat="server" CommandName="NewComponent"
Title="<%$ Resources: Tridion.Web.UI.Strings, NewComponent %>"
Label="<%$ Resources: Tridion.Web.UI.Strings, NewComponent %>"
ID="NewComponentBtn1">
<c:RibbonContextMenuItem runat="server" ID="NewComponentCMI2"
Command="NewComponent"
Title="<%$ Resources: Tridion.Web.UI.Strings, NewComponent %>"
Label="<%$ Resources: Tridion.Web.UI.Strings, NewComponent %>" />
<c:RibbonContextMenuItem runat="server" ID="NewMultimediaComponentCMI2"
Command="NewMultimediaComponent"
Title="<%$ Resources: Tridion.Web.UI.Strings, NewMultimediaComponent %>"
Label="<%$ Resources: Tridion.Web.UI.Strings, NewMultimediaComponent %>" />
<!--
<c:RibbonUploadContextMenuItem runat="server"
ID="NewBasicMultimediaComponentCMI2" Command="NewBasicMultimediaComponent"
Title="<%$ Resources: Tridion.Web.UI.Strings, NewBasicMultimediaComponent %>"
Label="<%$ Resources: Tridion.Web.UI.Strings, NewBasicMultimediaComponent %>" />
-->
</c:RibbonSplitButton>
这似乎有了预期的结果,但我想如果我在客户环境中这样做,这可能会使我们的支持协议无效。这是否可以以受支持的方式进行,或者我是否必须破解这样的UI文件才能实现我的目标?
答案 0 :(得分:7)
其中一个解决方案是为NewBasicMultimediaComponent
命令创建扩展,扩展isAvailable
和isEnabled
方法,并为它们返回false
。在这种情况下,“上传MM组件”仍将作为“新组件”按钮的选项出现,但它将被禁用。
答案 1 :(得分:6)
我之前使用过css来隐藏功能区项目的显示。纯粹是因为我找不到合适的解决方案。
答案 2 :(得分:2)
我正在添加此答案,因为我需要使用完整的功能区工具栏执行类似操作。
我需要删除完整的功能区工具栏“创建”,以便添加更简单的版本,看起来您可以通过创建新的扩展程序来执行删除部分,并在扩展程序配置中使用它:
<?xml version="1.0"?>
<Configuration xmlns="http://www.sdltridion.com/2009/GUI/Configuration/Merge" xmlns:cfg="http://www.sdltridion.com/2009/GUI/Configuration" xmlns:ext="http://www.sdltridion.com/2009/GUI/extensions" xmlns:cmenu="http://www.sdltridion.com/2009/GUI/extensions/ContextMenu" xmlns:edt="http://www.sdltridion.com/2009/GUI/Configuration/Merge">
<resources>
<cfg:groups />
</resources>
<definitionfiles />
<extensions>
<ext:editorextensions>
<ext:editorextension target="CME">
<ext:editurls />
<ext:listdefinitions />
<ext:itemicons />
<ext:taskbars />
<ext:commands />
<ext:commandextensions />
<ext:contextmenus />
<ext:lists />
<ext:tabpages>
</ext:tabpages>
<ext:toolbars>
</ext:toolbars>
<ext:ribbontoolbars>
<ext:remove>
<ext:extension id="CreatePage">
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar" />
</ext:view>
</ext:apply>
</ext:extension>
</ext:remove>
</ext:ribbontoolbars>
<ext:extendedareas />
</ext:editorextension>
</ext:editorextensions>
<ext:dataextenders />
</extensions>
<commands />
<contextmenus />
<localization />
<settings>
<dependencies />
<defaultpage />
<editurls />
<listdefinitions />
<theme>
<path>/Themes/</path>
</theme>
<customconfiguration />
</settings>
</Configuration>
通过在ext:extension id属性中提供按钮id,你可能可以做同样的事情(没有测试过这个)。