Zum Inhalt springen

template - switch

Erstellt am 23. Februar 2004 · 6 Antworten · letzte Antwort am 28. Februar 2004

Tags: Frage

be_dee ·

hi, hab dank euch schon einige fortschritte mit typo3 gemacht, bräucht nun wieder mal hilfe, (kann mir vorstellen, dass das für andere auch interessant ist):

ich hab eine seite mit links einem menü, in der mitte den content und rechts ein farbiges feld, indem noch zusatzinfo drinnstehen wird (bzw. menülevel3, was auch immer)

jetzt habe ich aber unterseiten, bei denen ich auf das zusatzfeld verzichten kann - dadurch gibts auch mehr platz z.b. für ein forum, braucht ja auch mehr platz

schön ist was anderes, aber zum testen reicht...
anzusehen ist das ganze unter:

www.bidner.com/t3/template1.png und
www.bidner.com/t3/template2.png

und nun die frage, wie kann ich schnell und problemlos, via typo-script festlegen ob ich nun template1 oder 2 verwende / also keine spur von dynamischen umschalten, sondern während des seiten-basteln sagen, naja, hier kommt mehr inhalt, also template2,... ?

besten dank
be_dee

Stoneage ·

interessante frage. das ist dann die hohe kunst von typoscript. diese technik benutzt man auch zb um zwischem 1 und 2 spaltigem layout zu wechseln!

hier eine kurze anleitung:

1. 2 temporäre Objekte in TS definieren, einmal für 1 spaltig und einmal für 2spaltig.
2. dem PAGE Objekt mittels einem CASE Objekt das richtige temporäre Objekt zuweisen.
3. Fertig 😉

Du musst natürlich dein HTML so coden, daß ein Wechsel problemlos ist, gegebenenfalls verschachtelte tabelle benutzen.

Tetramatrix

be_dee ·

thnx Tetramatrix,
deine antwort kahm ja unglaublich flott (2:16)

mit T-script bin ich im mom. noch nicht ganz so fitt, aber vorerst danke für den "schubs" in eine richtung, ich werd mit mal mit dem CASE-Objekt vertraut machen, dass klingt nach if/else - vermutlich setzt ich die bedingung in den jeweiligen template-extansions im constant-field - yep?

greets be_dee

Stoneage ·

keine ahnung, ich habe zb. das layout feld im be genommen. dann kann der redakteur(!) entscheiden, welches layout genommen wird.

T.

be_dee ·

mein setup field sieht so aus

#HIER DAS MENÜ - SO WEIT ALLES O.K
temp.menu_1 = HMENU
temp.menu_1.1 = TMENU
temp.menu_1.1 {
NO.allWrap = <div class="menu1-level1-no"> | </div>
ACT = 1
ACT.allWrap = <div class="menu1-level1-act"> </div>
}
temp.menu_1.2 = TMENU
temp.menu_1.2 {
NO.allWrap = <div class="menu1-level2-no"> | </div>
ACT = 1
ACT.allWrap = <div class="menu1-level2-act"> </div>
}

page = PAGE
page.typeNum = 0
page.stylesheet =
# DAS CSS IST BEI BEIDEN TEMPLATES DAS SELBE
fileadmin/template/mdanew/bin/mda.css

#NUN DIE SEITE
page.1 = TEMPLATE
page.1 {
template = FILE
template.file =
# HIER IST NUN TEMPLATE1 GEWÄHLT
fileadmin/template/mdanew/template1.htm

workOnSubpart = DOCUMENT_BODY
subparts.MENU_1 < temp.menu_1
subparts.CONTENT < styles.content.get

wie könnte ich nun das CASE objekt einsetzen? bitte um ein paar codezeilen; bei den dokus auf typo3.org blick ich nicht ganz durch

besten dank, an alle (bsonders an die, die sich an diesem thread beteitigen ;-)

be_dee

itsnogood71 ·

Das Beispiel aus TSref Seite 75 ist die Lösung die du suchst. Dort wird anhand des Layout entschieden was gemacht werden soll. Falls der Header leer ist wird generell ein leerer String geliefert.

be_dee ·

thanx isnogood71 but,

in TSref Seite 75 (pdf-version) steht was von search syntax
in TSref Seite 75 (sxw-version)steht was von dataArray

jeweils version tsref-05-12-2002_19-11-10

steh ich aúf der leitung oder ging was schief mit seite 75? schick mir doch bitte ein link oder einen code-auszug -
besten dank schonmal isgood ;-)

be_dee