2012-03-28 3 views
4

Ich habe herausgefunden, wie man eine DeckPage mit Javascript in die GUI injiziert. Ich habe mich gefragt, ob es eine bessere Möglichkeit gibt, dies mit der Erweiterungskonfiguration zu tun. Zum Beispiel ist hier, wie ein Reiter in der CME auf die Seitenansicht hinzugefügt:SDL Tridion GUI-Erweiterung Deckseite von der Erweiterungskonfigurationsdatei hinzufügen

<ext:tabpages> 
      <ext:add> 
      <ext:extension name="Name of Tab" assignid="TabName" insertbefore=""> 
      <ext:control>~/tab.ascx</ext:control> 
      <ext:pagetype/> 
      <ext:apply> 
       <ext:view name="PageView"> 
       <ext:control id="MasterTabControl"/> 
       </ext:view> 
      </ext:apply> 
      </ext:extension> 
      </ext:add> 
</ext:tabpages> 

Und ich sehe, es ist möglich zu erstellen <ext:PageDeck> Element in der Konfiguration, aber bisher habe es geschaffen, ich nicht bekommen Datei tab.ascx zur Anzeige innerhalb eines.

Ich versuche, die ascx in der Seitenansicht, angezeigt werden innerhalb der Komponente Registerkarte Präsentationen (wählen Sie eine Komponente Präsentation) und zwei PageDecks gezeigt ‚Komponente Presentation‘ und ‚Zielgruppen‘

Hier ist, was ist mein versucht XML-Konfiguration wie folgt aussieht:

<ext:deckpages> 
    <ext:add> 
    <ext:extension name="Target Groups Editor" assignid="TargetGroupEditor" insertbefore=""> 
     <ext:control>~/tab.ascx</ext:control> 
     <ext:pagetype></ext:pagetype> 
     <ext:apply> 
     <ext:view name="PageView"> 
      <ext:container name="ComponentPresentationsTab"> 
      <ext:container name="ComponentPresentationPropertiesTabControl"> 
       <ext:control id="targetGroups"/> 
      </ext:container> 
      </ext:container> 
     </ext:view> 
     </ext:apply> 
    </ext:extension>    
    </ext:add> 
</ext:deckpages> 

ich habe die CME-Code-Dateien (Page.aspx, ComponentPresentations.ascx) geöffnet, um die meisten dieser IDs zu erhalten und durch sie Drill-down, aber ich mache eine Menge von Annahmen, was die <ext:container> ist und was mit der <ext:control> verbunden werden kann.

Wenn jemand so etwas getan hat und weiß, wenn es möglich ist, würde ich wirklich glücklich sein, die Antwort zu wissen ... Ich würde lieber das XML verwenden, anstatt über Javascript zu injizieren.

Vielen Dank im Voraus

Antwort

3

Ich glaube, dass noch eine Lasche sein würde. Versuchen Sie:

<ext:tabpages> 
    <ext:add> 
     <ext:extension insertbefore="targetGroups" assignid="TargetGroupEditor" name="Target Groups Editor"> 
     <ext:control>~/tab.ascx</ext:control> 
     <ext:pagetype>TargetGroupEditor</ext:pagetype> 
     <ext:apply> 
     <ext:view name="PageView"> 
      <ext:control id="ComponentPresentationPropertiesTabControl" /> 
     </ext:view> 
     </ext:apply> 
    </ext:extension> 
    </ext:add> 
    </ext:tabpages> 
+0

Danke Alvin, du hast absolut recht. Ich ging mit den den falschen Weg, obwohl ich zu den Deckseiten hinzufügen möchte, muss dies noch mit einem :) konfiguriert werden. – johnwinter

0

Ich habe einige Deck-Seiten zuvor hinzugefügt.

Keiner von denen verwendet ext: Container-Elemente, aber ansonsten sah die XML wie Ihre.

Haben Sie es ohne diese und nur die "targetGroups" Kontrolle versucht?

+0

danke peter. wäre interessiert, Ihr Beispiel mit zu sehen, wenn es nur darum geht, Sachen in den CME zu bekommen – johnwinter

Verwandte Themen