2012-05-22 8 views
6

zu entfernen Diese Schaltfläche verursacht viele Probleme für meinen Client, da es immer ein vordefiniertes Schema verwendet. Ich kann keine Möglichkeit finden, diese Schaltfläche mit meiner Editor-Konfiguration zu entfernen. Ich habe dies mit anderen Tasten gemacht, aber diese Tasten sind in irgendeiner Art von Untergruppe implementiert.Ist es möglich, die Schaltfläche "Upload MM Component" von der SDL Tridion 2011 Ribbon

Auf meiner persönlichen Sandbox-Maschine, habe ich versucht, den Kommentar gesetzt Kontrolle in dem Extrakt der ../WebUI/Editors/CME/Controls/Toolbars/Tabs/CreateRibbonPage.ascx Datei unten zu entfernen:

<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> 

Dies scheint das gewünschte Ergebnis zu haben, aber ich stelle mir vor, dass dies wahrscheinlich unsere Support-Vereinbarung ungültig machen würde, wenn ich dies in einer Kundenumgebung tun würde. Ist dies möglich, oder muss ich die UI-Dateien hacken, um mein Ziel zu erreichen?

+0

Meine CME.config (T2011 SP1) hat einen auskommentierten Abschnitt, der mit '

Antwort

7

Eine der Lösungen besteht darin, eine Erweiterung für den NewBasicMultimediaComponent Befehl zu erstellen, der und isEnabled Methoden erweitert und false für sie zurückgibt. In diesem Fall wird "Upload MM Component" weiterhin als Option für die Schaltfläche "New Component" angezeigt, aber es wird deaktiviert.

6

Ich habe CSS verwendet, um die Anzeige von Multifunktionsleisten-Objekten zuvor zu verbergen. Nur weil ich die passende Lösung nicht finden konnte.

+0

Scary ... aber ein interessanter Ansatz. Danke fürs Teilen –

+0

Ich habe diesen Ansatz auch im Tridion PE gesehen. Es scheint recht gut zu funktionieren, auch wenn es nicht für meine Demo benötigt wurde;) –

2

Ich füge diese Antwort hinzu, weil ich etwas Ähnliches mit einer vollständigen Multifunktionsleisten-Symbolleiste tun musste.

Ich musste die komplette Band-Symbolleiste auf „Erstellen“ entfernen, um eine einfachere Version davon hinzuzufügen, und es scheint, dass Sie das Entfernen Teil eine neue Erweiterung zu tun und diese Konfiguration in Ihren Erweiterungen, indem verwenden:

<?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> 

Um dies für Schaltflächen funktionieren zu lassen, können Sie wahrscheinlich dasselbe tun (dies wurde nicht getestet), indem Sie die Schaltflächen-ID im Attribut ext: extension id angeben.