Inhalte via TypoScript positionieren ...

  • slobodan slobodan
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    23. 03. 2008, 12:40

    Hallo zusammen,

    ich stehe gerade total auf dem Schlauch ... Ich möchte folgenden HTML-Code mit Content versehen (wie zwischen den ### ... ### im Quellcode unten). Ich denke, dass man das via TypScript lösen kann. Leider fehlt mir gerade jeglicher Ansatz. Vielleicht kann mir ja jemand auf die Sprünge helfen?

    [HTML]<div class="container">
    <div class="boxheader">
    <img class="h_left" src="images/ecke_left.png" alt="" />
    <h1>### Hier soll die Überschrift stehen ###</h1>
    <img class="h_right" src="images/ecke_right.png" alt="" />
    </div>
    <div class="border">
    <div class="content_left">
    <div class="text">
    <h2>### Hier soll der Subheader stehen ###</h2>
    <p>
    ### Hier soll der Inhalt rein ###
    </p>
    </div>
    </div>
    </div>
    </div>
    [/HTML]

    Schon mal beste Dank

    Grüße

    Slobodan


  • 1
  • SLAng SLAng
    Flash Gordon
    0 x
    2757 Beiträge
    0 Hilfreiche Beiträge
    23. 03. 2008, 18:37

    Uiuiui Tiffy...

    Also:

    [b]Dein HTML-Template:[/b]
    [HTML]<!--###DOCUMENT_BODY### start-->

    <div class="container">
    <div class="boxheader">
    <img class="h_left" src="images/ecke_left.png" alt="" />
    ###HEADER###
    <img class="h_right" src="images/ecke_right.png" alt="" />
    </div>
    <div class="border">
    <div class="content_left">
    <div class="text">
    ###SUBHEADER###
    ###CONTENT###
    </div>
    </div>
    </div>
    </div>

    <!--###DOCUMENT_BODY### stop-->[/HTML]

    [b]Dein TS Setup dazu:[/b]
    [TS]temp {
    HEADER = TEXT
    HEADER {
    field = title
    stdWrap.wrap = <h1>|</h1>
    stdWrap.required = 1
    }
    SUBHEADER = TEXT
    SUBHEADER {
    field = subtitle
    stdWrap.wrap = <h2>|</h2>
    stdWrap.required = 1
    }
    }

    page = PAGE
    page {
    typeNum = 0

    10 = TEMPLATE
    10 {
    template = FILE
    template.file = fileadmin/...Pfad zu deinem Template.html
    workOnSubpart = DOCUMENT_BODY
    marks {
    HEADER < temp.HEADER
    SUBHEADER < temp.SUBHEADER
    CONTENT < styles.content.get
    }
    }
    }[/TS]

    [b]Erklärung[/b]:
    Du benötigst ein Subpart der alles umschließt. In diesem Fall <!--###DOCUMENT_BODY### start--> und <!--###DOCUMENT_BODY### stop-->. Dieser wird dann angesprochen mit workOnSubpart = DOCUMENT_BODY.

    Die einzelnen Marker werden bei

    [TS]...
    marks {
    HEADER < temp.HEADER
    SUBHEADER < temp.SUBHEADER
    CONTENT < styles.content.get
    }
    ...[/TS]
    angesprochen und entsprechend auf temp kopiert.

    TypoScript Zeile 4 holt die Überschrift dynamisch aus dem Titel-Feld und wrapt mit <h1>.
    TypoScript Zeile 10 holt die Unter-Überschrift dynamisch aus dem SubTitel-Feld und wrapt mit <h2>
    Beides ist auf required gesetzt, was bedeutet, wenn kein Titel, oder kein Subtitel vergeben wurde, wird gar kein wrap ausgegeben. Das hat den Vorteil das du keine leeren <h1> oder <h2> tags drinn stehen hast.

    Bitte unbedingt das hier mal durcharbeiten:
    http://www.mittwald.de/dokumentation/

  • slobodan slobodan
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    23. 03. 2008, 19:36

    Hallo SLAng,

    verdammt, ich habe mich nicht eindeutig ausgedrückt.
    Erstmal vielen Dank für die ausführlich Antwort.
    Asche auf mein Haupt ... der von mir zitierte Quellcode sollte kein Template sein, sondern sollte innerhalb des Templates als Container für alle Inhaltselemente (Normaler Text, Text mit Bild, nur Bilder ...) fungieren.

    Die "Marker" im HTML-Quellcode waren eigentlich nur als Platzhalter gedacht...

    Ich hoffe, dass meine eigentliche Frage jetzt verständlicher ist.
    Nochmals sorry, für Deine Mühe. Vielleicht kann ich mich ja mal revanchieren.

    Grüße

    Slobodan

  • 1