Code Snippets für „YAML für TYPO3“ bzw. „Templates for Templavoila“

Auf den „alten“ (bis Ende 2008) YAML Seiten gab es ein Forum mit einem umfangreichen TYPO3-Bereich für das Framework. Mit dem Forum sind auch jede Menge Code-Snippets verschwunden. Einige davon sind hier öffentlich zu finden, damit googlen wieder Sinn macht.

Ich halte db_ttv für die beste TYPO3 Extension für die gestalterische Arbeit, kann man sich doch direkt auf Layout und Content konzentrieren, und muss nicht immer wieder bei Null mit handgestrikten CSC-Vorlagen anfangen. Wenn ein Layout allerdings total „anders“ ist, kommt man um CSC nicht herum.

Einige Variablen haben sich von db_yamltv zu db_ttv geändert, man sollte also nicht unbedingt blind kopieren, sondern im Zweifelsfalle im Typoscript Object Browser nachsehen.


Eigenes Stylesheet einbinden

Wer gerne ein eigenes Style einbinden möchte, aber nicht in den mitgelieferten CSS-Dateien der Extension herumschreiben will, kann das am einfachsten, indem ein eigenes Style nachgeladen wird. Außerdem kann man dann noch eigene Headerwerte für alle Unterseiten setzen. Auf diesen Seiten hier ist das z.B. das Favicon.

Typoscript:

#####################################################
# Manuell HTML-Tags im Header
page.headerData.98 = TEXT
page.headerData.98.value (
<link href="fileadmin/CRNET/Template/CRNET.css" rel="stylesheet" type="text/css" />
<link type="image/x-icon" href="fileadmin/CRNET/Template/favicon.ico" rel="shortcut icon" />
)

Die Gefahr, das Browser die Seite erst formatiert durch das eine und dann das nachgeladene Stylesheet anzeigen besteht nicht. Die Seiten rendern die Browser immer erst, wenn alle zum Rendern notwendigen Informationen vorliegen.


Werbung


Links aus dem Header in den Footer verschieben

Die Links zu „Impressum“, & Co., wie sie auf dieser Website hier auf dem roten Balken unten sind, stehen bei ttv von Hause aus im Header. Da die Zuweisung der Seiten über den Typoscript Object-Browser recht komfortabel geht und das Menü ordentlich vorbereitet ist, wollte ich darauf nicht verzichten. Um es in den Footer zu verschieben braucht man nur:

  1. den Original-Footerinhalt zu löschen
  2. das Menü da rein zu setzen
  3. das Manü aus dem Header zu entfernen

Typoscript:

######################################################
## Verschieben der Headerlinks in den footer
lib.footer.100 >
lib.footer.100 < lib.header.20.20
lib.header.20.20 >


Werbung


 Bild im rechten Headerteil durch Text ersetzen

Man kann den Header-teil auch mit Texten füllen anstelle des Logos. Damit hierbei nicht die Flexibilität eines CMS verloren geht, holen wir uns einfach ein Element aus einer Seite und betten es ein.

Ich mache dazu diese Seiten gern unterhalb eines Sys-Folders, damit da nicht zufällig drüber „gestolpert“ wird. Von dieser Seite brauchen wir dann die PID (im Bsp. #123).

Typoscript:

####################################################################
# Ersetzen des rechten Bannerbildes durch Inhaltselement der PID 123
lib.header.40 >
lib.header.40 = CONTENT
lib.header.40 {
table=tt_content
select.pidInList = 123
}

Da muss dann natürlich das CSS angepasst werden, und evtl. noch ein Wrapper um die Positionierung zu vereinfachen.


Werbung


 Mehrsprachlichkeit:

Grundsätzlich: wenn im Template aus anderen Seiten inhalte eingebettet wird, dann kann es bei Übersetzungen zu Doppelungen kommen, die übersetzte Version wird dann doppelt angezeigt. Das umgeht man, in dem man in den selector noch die Sprache setzt:

select.languageField = sys_language_uid

oder als Komplettversion gemäß obigem Beispiel:

lib.header.40 {
table=tt_content
select.pidInList = 123
select.languageField = sys_language_uid
}


 Headernavigation aus Seitenbaum TTV

In TTV sind in dem Mustertemplate die Links zu „Impressum , Sitemap .. etc“ als Kommaseparierte Liste im TS-Template hinterlegt.

Das ist OK, wenn man bei Erstellung schon weiss was da rein soll und der Kunde es nicht ändern will. Ist das aber Anders, hilft es diesen Parameter auf Eine Seite zu stellen, deren Unterseiten diese Links sind:

#####################################################
# Links in Headernavigation
# Alt:
# lib.header.20.20.special.value = 10,11,12,13
# als Treepart:
lib.header.20.20.special = directory
lib.header.20.20.special.value = 9

Wenn dann da Seiten in diese Navigation sollen, die sich bereits an anderer Stelle des Seitenbaumes befinden, kann man dort einfach Verknüpfungsseiten gleichen Titels plazieren.