是否可以从SDL Tridion 2011功能区中删除“上载MM组件”按钮

时间:2012-05-22 13:36:02

标签: tridion tridion-2011

此按钮会为我的客户端带来很多问题,因为它始终使用预定义的架构。我无法找到一种方法来使用我的编辑器配置删除此按钮。我用其他按钮完成了这个,但是这些按钮是在某种子组中实现的。

在我的个人沙箱机器上,我尝试删除下面显示的../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文件才能实现我的目标?

3 个答案:

答案 0 :(得分:7)

其中一个解决方案是为NewBasicMultimediaComponent命令创建扩展,扩展isAvailableisEnabled方法,并为它们返回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,你可能可以做同样的事情(没有测试过这个)。