Zum Inhalt springen

Inhalt dauerhaft anzeigen

Erstellt am 26. September 2005 · 6 Antworten · letzte Antwort am 28. September 2005

Tags: Inhaltselemente, Frage

droptix ·

Kurz: Ich will den Inhalt einer ganzen Seite (aus dem Seitenbaum) dauerhaft in meiner rechten Spalte anzeigen. Hier erstmal, was ich schon kapiert habe:

Um Inhalt dauerhaft in meiner rechten Spalte anzuzeigen, erzeuge ich mir z.B. in meinem HTML-Template einen Marker ###RIGHT### und dazu eine Seite vom Typ "Nicht im Menü", in die ich diverse Seiteninhalte reinlege. Über:

temp.myvar = RECORDS
temp.myvar {
    tables = tt_content
    source = 8
    dontCheckPid = 1
}

in meinem Template (Setup) erzeuge ich eine temporäre Variable mit dem Seiteninhalt des TYPO3 Content-Elements der Id 8. Um das dauerhaft einzubinden, muss noch folgendes in mein Default page object:

page = PAGE
page {
    […]
    1 = TEMPLATE
    1 {
        […]
        workOnSubpart = DOCUMENT_BODY
        marks {
            RIGHT < temp.myvar
        }
    }
}

Damit fülle ich meine rechte Spalte mit speziellem Seiteninhalt. Wollte ich mehrere Seiteninhalte untereinander haben, müsste man deren Id mit Kommata voneinander getrennt hintereinander weg schreiben, also z.B. "source = 8,11,12".

So weit so gut. Was aber, wenn ich ALLE SEITENINHALTE meiner zuvor erzeugten Seite vom Typ "Nicht im Menü" ausgeben will? Ich will die Bearbeitung jemandem überlassen, der keine Ahnung von TypoScript hat und deshalb nicht ins Template darf.

Marco74 ·

Hallo

source bezieht sich, wie Du weisst auf die einzelnen Inhaltselemente. pidInList bezieht sich auf eine ganze Seite.

Mit

pidInList = 6

wählst Du alle Inhalte der Seite mit der uid 6.

vg Marco

droptix ·

Danke, aber leider erscheint bei folgender Änderung gar nichts mehr:

temp.myvar = RECORDS
temp.myvar {
    tables = tt_content
    pidInList = 10
    dontCheckPid = 1
}

Hättest du noch einen passenden Code-Schnipsel parat, der mir in der temporären Variable 'myvar' die Seiteninhalte der Seite mit der Id 10 speichert?

Norman2k ·

Genau so wie du den normalen CONTENT auch anzeigst, nur das da halt die Zeile "pidInList" mit rein kommt

temp.myvar = CONTENT
temp.myvar {
	table = tt_content
	select.pidInList = 10
	select.orderBy = sorting
	select.where = colPos = 0
}

Norman

droptix ·

Ah cool, es klappt schonmal, dass der Seiteninhalt der gesamten Seite angezeigt wird. Danke!

Aber: Da steht zwar sorting drin, aber die Inhalte werden in der Reihenfolge ausgegeben, wie sie angelegt wurden. Hat man im Backend die Reihenfolge verändert, wirkt sich das nicht auf die Anzeige im FE aus. Hab auch schon Cache von TYPO3 und Browser geleert. Ist da ein Tippfehler?

Marco74 ·

Ich seh keinen Tippfehler. Versuch doch einfach mal das ganze ohne temp-Variable:

CONTENT_RIGHT = CONTENT
CONTENT_RIGHT {
  table = tt_content
  select {
    where = colPos = 0
    orderBy = sorting
    pidInList = 6
    languageField = sys_language_uid
  }
}

So funktioniert es bei mir.

vg Marco

droptix ·

Hab den Fehlerteufel: Und der ist seltsam!

Wenn ich in den Menüpunkt "Liste" gehe und dort die Reihenfolge verändere und mir das Ganze anschließend in "Seite" anschaue, dann hab ich dort eine andere Reihenfolge. Ich muss also die Reihenfolge der Seiteninhalte im Menüpunkt "Seite" ändern und nicht in "Liste" -> erst dann geht's.

Wieso sind das verschiedene Reihenfolgen? Welche Reihenfolge bestimme ich unter "Liste"? Wo wirkt sich das aus?

Danke! Funzt! *Freu*