2016-08-10 2 views
2

Gibt es eine Möglichkeit, ein Inhaltselement oder den Inhalt einer Spalte in das Menü einzufügen?Spalte/Inhalt im Menü hinzufügen

Ich möchte, dass das Menü-Dropdown-Fenster seine Unterseiten wie gewohnt enthält, aber auch einen Bereich enthält, der gelegentlich bearbeitet werden kann.

Eg. das Menü Item "Fruit" wird die Unterseiten "Apple, Banana, Orange" auflisten, aber dann, wenn diese ein vorzügliches Bild haben, wie zB eine Banane mit ein wenig Information darunter. Dann im nächsten Monat die Funktion bearbeiten, um ein Apple zu sein.

Wenn es nur ein Bild ist ich die Seite Ressourcen Tab verwenden könnte, aber ich benötige etwas Text auch ...

+1

Wie geht es dir Bauen Sie Ihre Speisekarte auf? TypoScript, flüssig, etwas anderes? – Jost

+0

@Jost Ich verwende ein Standard-Typoscript-Menü. – user500665

Antwort

3

In Ihrem TypoScript-Setup verwenden, um eine geeignete stdWrap -fähigen Eigenschaft. Es gibt stdWrap, stdWrap2 und viele andere Eigenschaften, die stdWrap aktiviert haben. Auf diesen können Sie cObject, preCObject, postCObject und wahrscheinlich einige mehr verwenden, um beliebige TypoScript-Inhaltsobjekte einzufügen, einschließlich eines CONTENT Objekts, um den Inhalt abzurufen. Wenn Sie auf Seite mit der ID des Content-Element mit ID 42 sich holen wollen 276, das CONTENT Objekt würde wie folgt aussehen (x die Eigenschaft stdWrap ist, die eine cObjects nimmt, zB stdWrap.preCObject):

x = CONTENT 
x { 
    table = tt_content 
    select { 
     uidInList = 42 
     pidInList = 276 
     languageField = sys_language_uid 
    } 
    renderObj { 
     // Insert rendering definition for the content object here, 
     // or leave the entire property renderObj out if you want the 
     // global rendering definition 
    } 
} 
+0

Großartig, danke! 2 Fragen: 1) Anstelle einer bestimmten PID kann ich die aktuelle PID benutzen? 2) Kann ich anstelle eines bestimmten Inhaltselements eine ganze Spalte haben? – user500665

+0

Ja, für die aktuelle PID können Sie 'this' als Wert für die PID verwenden. Aber es wird wahrscheinlich nicht für ein Menü funktionieren, da dies die PID der Seite ist, die Sie gerade ansehen/rendern. Zum Rendern einer vollständigen Spalte entfernen Sie die Eigenschaft "uidInList" und fügen eine 'where'-Eigenschaft mit einer Abfrage für die Spalte hinzu (' colPos = '). Überprüfen Sie auch die [Dokumente der 'select'-Eigenschaft] (https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Select/Index.html). – Jost

+0

Sie haben recht, es funktioniert nur für die angezeigte Seite. Gibt es eine Möglichkeit, {field: uid} auf eine Variable zu setzen und pidInList auf diese Variable zu setzen? – user500665

Verwandte Themen