Wie konfigurieren Sie eine SDL Tridion CME-Erweiterung für eine Teilmenge von Ansichten?

8

Ich habe einen neuen Editor für SDL Tridion erstellt, der der Multifunktionsleiste neue Funktionen hinzufügt. Dies wird durch Hinzufügen des folgenden Snippets zur Datei editor.config

ermöglicht %Vor%

Dies wird auf alle Ansichten angewendet, indem ein Platzhalterwert im Knoten verwendet wird. Dies hat zur Folge, dass meine neue Schaltfläche der Multifunktionsleiste jeder Ansicht hinzugefügt wird, einschließlich des Haupt-Dashboards. Gibt es eine Möglichkeit, dies allen Ansichten außer dem Dashboard hinzuzufügen? Oder muss ich so etwas erstellen?

%Vor%

Wenn dies der einzige Weg ist, um das Ergebnis zu erreichen, das ich brauche, gibt es irgendwo eine Liste aller View-Namen?

    
Chris Summers 18.10.2012, 21:45
quelle

2 Antworten

8

Workaround von Jaime wird nicht funktionieren, weil:

  • Multifunktionsleisten-Symbolleiste blendet nur Schaltflächen auf der Registerkarte "Erstellen" aus, wenn isAvailable Methode des entsprechenden Befehls wird false zurückgeben.
  • Die meisten Schaltflächen in RibbonToolbar implementieren spezifische Tridion.Controls.RibbonButton -Schnittstelle. Das bedeutet, wenn du es versuchst um Tridion.Controls.Button control für das gleiche Element zu erhalten - du wirst erhalten Sie eine völlig andere Kontrolle, basierend auf dem gleichen HTML-Element. Damit RibbonToolbar wird davon nicht wissen und es wird falsch funktionieren.
  • Wenn Sie die Schaltfläche in RibbonToolbar ausblenden möchten, sollten Sie stattdessen öffentliche Methoden für RibbonToolbar und RibbonPage verwenden. So wird es von RibbonToolbar korrekt behandelt. Beispiel:
%Vor%

Wie für die ursprüngliche Frage, hier ist eine ziemlich einfache und einfachste Lösung:

%Vor%     
Boris Ponomarenko 19.10.2012, 09:18
quelle
2

Soweit ich weiß, müssen Sie alle Ansichten angeben oder den Platzhalter verwenden. Es ist schön, dass die isAvailable-Funktionalität für die Ribbon-Werkzeugleiste funktioniert, richtig? Wenn der Befehl in der _isAvailable-Methode den Wert false zurückgibt, wird die Schaltfläche nicht angezeigt ...

Nun, ich habe eine Arbeit gefunden. Sie können so etwas in Ihrer isAvailable-Methode in Ihrem Befehl tun:

%Vor%

Ich denke, das ist eigentlich eine gute Übung, da es die Befehle "versteckt", wenn sie nicht verfügbar sein sollten, oder?

Lassen Sie mich wissen, wie es funktioniert.

    
Jaime Santos Alcón 18.10.2012 22:43
quelle

Tags und Links