Willkommen auf der privaten Homepage von Johannes Jarolim, Salzburg, Österreich. Welcome to the private homepage of Johannes Jarolim, Salzburg, Austria, Europe.

Wer in einem Seitenbaum zentral Inhalte einpflegen möchte und diese automatisiert auf Unterseiten anzeigen möchte, hat mehrere Möglichkeiten. Neben Datensatzverlinkungen und TypoScript Referenzierungen finde ich die Möglichkeit der automatisierten Vererbung via KB Content Slide Plugin (kb_cont_slide) sehr elegant.

Die Funktionsbeschreibung

Generell nimmt KB Content Slide die TypoScript-Definition eines Contentelements entgegen und sucht zuerst auf der aktuellen und danach allen übergeordneten Seiten danach. Wird das definierte Element gefunden, wird es zurückgeliefert. Das entspricht einer Vererbung: Ist das gesuchte Element auf einer Elternseite definiert, wird es auch auf allen Unterseiten dargestellt.

Die Standardnutzung

Wie auch in der Dokumentation beschrieben, ist es ein einfaches zB. die rechte Contentspalte auf allen Unterseiten darzustellen. Dazu definiert man nur den entsprechenden Marker im Template (zB. ###RECHTE_SPALTE###) und weist diesem den Inhalt des Plugins zu:

[code]page.10.marks.RECHTE_SPALTE < plugin.tx_kbcontentslide_pi1[/code]

Da das Plugin ja noch nicht wissen kann, welche Spalte man angezeigt haben möchte, muß man das direkt danach noch konfigurieren:

[code]page.10.marks.RECHTE_SPALTE {
content.select.where = colPos=2
}[/code]

Jetzt wird es interessant

Nach Blick in das (sehr schlanke) Plugin selber offenbart sich seine Eleganz: In das Attribut content darf in Wirklichkeit alles reindefiniert werden: KB Content Slide geht in einer Schleife alle Seiten der Vererbungslinie durch, setzt die globale Variable $GLOBALS[“TSFE”]->contentPid und läßt Typo3 das definierte Inhaltselement instanzieren. Wird ein Inhaltselement zurückgegeben wird die Schleife gestoppt: Wir haben, was wir suchten.

Hier die TypoScript-Standarddefinition des content-Attributs:

[code]plugin.tx_kbcontslide_pi1 {
content = CONTENT
content {
table = tt_content
select {
pidInList = this
where = colPos=0
orderBy = sorting
}
}
}[/code]

Page Resource Bilder vererben und ausgeben

Mit solchem Wissen ausgestattet lassen sich natürlich ganz lässige Dinge erledigen. Hiermit gebe ich zB. ein zentral hinaufgeladenes Bild (Page Properties / Resources / Files) auf allen Unterseiten aus:

[code highlight=”7,8,9,10,11,12,13,14,15,16″]tpl.image = COA
tpl.image {

10 = TEXT
10.value = <div id="image">

20 < plugin.tx_kbcontslide_pi1
20.content.table = pages
20.content.select.where >

20.content.renderObj = IMAGE
20.content.renderObj {
file.import = uploads/media/
file.import.field = media
file.import.listNum = 0
}

30 = TEXT
30.value = </div>

}[/code]

Vier Antworten

  1. 26. November 2009, 20:41
    Comment by Fanninger Thomas
    Servus,
    ja wie ich sehe bist voll in der Typo3-Welt. Naja ist aber nicht meine. Aber auch ich bewege mich in ein Neuland (Naja auch nicht ganz). Beginn gerade Windows Mobil Anwendungen zu schreiben für mein Omnia 2 Smartphone. Schönes Spielzeug. Wie gehts dir mit deinem Blackberry?
    Gruß Thomas
  2. 5. July 2010, 09:55
    Comment by Sholeh
    Hallo,

    wo kann ich "tx_kbcontentslide_pi1" finden?:((
  3. 5. July 2010, 10:09
    Comment by Sholeh
    Achso, jetzt heisst die Extension : kb_cont_slide
    Ein dumme Frage: bleibt die Konfiguration von TS gleich? Ich benutze der Zeit Typo3 4.3
    Danke!
    • 5. July 2010, 10:14
      Comment by Johannes
      Den Extension-Namen habe ich im Post eh geschrieben ;-)
      TS-Conf bleibt gleich: Die Extension ist sehr einfach gestaltet - Das ist ja auch, was sie so genial macht: Code is poetry sagen sie zumindestens bei WordPress *g*

Hier können Sie eine Antwort hinterlassen

CAPTCHA Image
Reload Image