Zum Inhalt springen

Content/treeLevel

Erstellt am 13. November 2006 · 4 Antworten · letzte Antwort am 14. November 2006

Tags: Frage

tomas ·

Hallo,
ich habe angefangen unsere Site in Typo3 umzusetzen. Es funktioniert alles bestens (Testaufbau, intern), nur folgendes Problem habe ich:

Auf dem letzten treeLevel befinden sich vom Aufbau her andere Seiten als auf dem höheren Level. In unserem 3-Spalten Design soll hier individueller Inhalt für die rechte Spalte eingefügt werden. So weit kein problem, nur will ich bei den höheren Levels ein einheitliches Inhalt. Somit brauche ich eine Erkennung, ob es sich um den letzten Level handelt, oder nicht.

Dieser Beispiel ist ein wenig starr, da sich nicht alle Produkte auf dem Level 5 befinden:

          # zusatzinfos aus der rechten spalte der seite
          [treeLevel = 5]
          RIGHTSIDE = CONTENT
          RIGHTSIDE < styles.content.getRight 
          [global]
          
          [treeLevel = 0,1,2,3,4]
          RIGHTSIDE = RECORDS
          RIGHTSIDE {
		tables = tt_content
   		source = 199
   		dontCheckPid = 1
		}
          [global]

Ah ja, das mit dem einbinden eines Datensatzes (uid 199) funktioniert auch nicht richtig.

Kann mir da bitte jemand helfen?

Danke, Tomas

toyde ·
# zusatzinfos aus der rechten spalte der seite
          [treeLevel = 5]
          RIGHTSIDE = CONTENT
          RIGHTSIDE < styles.content.getRight 
          [global]
          
          [treeLevel = 0,1,2,3,4]
          RIGHTSIDE = RECORDS
          RIGHTSIDE {
                tables = tt_content
             source = 199
             dontCheckPid = 1
                }
          [global]

Falls dies eine condition sein soll, stimmt;
a) entweder die relative Objektdefinition nicht (RIGHTSIDE = RECORDS) oder
b) deine condition nicht, da evtl. innerhalb geschweifter Klammern.

Wenn Objekte direkt in einer condition deklariert werden sollen, dies am besten über temp-Objekte durchführen. Hilfen dazu gibt's im Forum.

tomas schrieb

Ah ja, das mit dem einbinden eines Datensatzes (uid 199) funktioniert auch nicht richtig.

Wenn die condition nicht greift, verständlich.

tomas schrieb

Auf dem letzten treeLevel befinden sich vom Aufbau her andere Seiten als auf dem höheren Level. In unserem 3-Spalten Design soll hier individueller Inhalt für die rechte Spalte eingefügt werden.

Falls ohnehin nur im letzten TreeLevel(angeblich 5) eine alternative Darstellung gewünscht ist, lege doch auf betroffener Seite ein +extTemplate an und überschreib Dir das entsprechende Objekt.

grüsse

tomas ·

Danke für die schnelle Anwort.
Es stimmt, die Bedingung ist innerhalb von geschweiften Klammern.
Wie sollte dann aber das Config aussehen?

Momentaner Zustand ist so:

# Sprachen
config.linkVars = L
config.sys_language_uid = 0
config.language = de
config.locale_all = deutsch

# deutsch
[globalVar = GP:L = 0]
   config.sys_language_uid = 0
   config.language = de
   config.locale_all = deutsch
[global]
   
# englisch
[globalVar = GP:L = 1]
   config.sys_language_uid = 1
   config.language = en
   config.locale_all = english
[global]   

# franzoesisch
[globalVar = GP:L = 3]
   config.sys_language_uid = 3
   config.language = fr
   config.locale_all = francais
[global]   
      
# italienisch
[globalVar = GP:L = 4]
   config.sys_language_uid = 4
   config.language = it
   config.locale_all = italiano
[global]  

# spanisch
[globalVar = GP:L = 5]
   config.sys_language_uid = 5
   config.language = es
   config.locale_all = espanol
[global]


#seite selbst
config.cache_period = 10
page = PAGE
page {
    typeNum = 0
    # Allgemeine Seiteneigenschaften setzen
    bodyTag = <body bgcolor="FFFFF" topmargin="0" leftmargin="0">
    meta.AUTHOR = 
    meta.DESCRIPTION = 
    meta.COPYRIGHT = 
    meta.KEYWORDS =   
    meta.description = 
    meta.revisit = 7 days
    meta.robots = index,follow
      
    stylesheet = fileadmin/css/style.css

    # Die Designvorlage integrieren
    10 = TEMPLATE
    10 {
       template = FILE
       template.file = fileadmin/seba/vorlagetab.html
       workOnSubpart = BODY_INHALT

       marks {
          
          # pageheader bild mit überschrift
          PAGEHEADER < temp.pageHeader

          # menue nur level 1
          MENU_OBEN < temp.topNavi

          # sprachauswahl
          FLAGGS < temp.Flaggs

          # aktueller ort auf der seite
          #BREADCRUMB < temp.Breadcrumb
          
          # navigation ab level 2, falls vorhanden
          MENU_LINKS < temp.mainNavi
          
          # news?
          #LEFTSIDE < 
          
          
          #SEITENTITEL = TEXT
          #SEITENTITEL.value = {page:title}
          #SEITENTITEL.insertData = 1
          #SEITENTITEL.wrap = <h1>|</h1>

          # inhalt aus der mittleren spalte der seite
	  INHALT = CONTENT
          INHALT < styles.content.get
          
          #DATUM < temp.Datum2
          DATUM = TEXT
          DATUM.data = date : d.m.Y
          
          SPRACHE < temp.beispielmenu
          
          PAGEFOOTER < temp.pageFooter

          # zusatzinfos aus der rechten spalte der seite
          [treeLevel = 5]
          RIGHTSIDE = CONTENT
          RIGHTSIDE < styles.content.getRight 
          [global]
          
          [treeLevel = 0,1,2,3,4]
          RIGHTSIDE = RECORDS
          RIGHTSIDE {
		tables = tt_content
   		source = 199
   		dontCheckPid = 1
		}
          [global]      
       }	        
    }
}

Muss ich ein neues Page-Objekt für die Bedingung erstellen?

Ich habe fast vergessen: Auf dem 5.-ten Level wird korrekt die rechte Spalte ausgegeben. Ansonsten handelte sich nur um Test, deswegen habe ich versucht die Levels direkt anzusprechen. Es ist leider so, dass nicht alle Seiten, wo die rechte Spalte ausgegeben werden soll, sich auf dem Level 5 befinden.

Danke, Tomas

toyde ·

Hallo,

Wie gesagt, für dein Problem gibt es zwei Möglichkeiten, die mir gerade einfallen:
Die condition umschreiben - oder Du legst für deine Level-5-Seite eine eigene Konfiguration an (sprich Du überschreibst z.B. mit +extTemplate dein RIGHTSIDE-Objekt).

condition

          # zusatzinfos aus der rechten spalte der seite
[treeLevel = 5]
temp.MYOBJECT = CONTENT
temp.MYOBJECT < styles.content.getRight
[global]
          
[treeLevel = 0,1,2,3,4]
temp.MYOBJECT = RECORDS
temp.MYOBJECT {
  tables = tt_content
  source = 199
  dontCheckPid = 1
}
[global]  


..
..

# im PAGE-Bereich
..RIGHTSIDE < temp.MYOBJECT

Damit lagerst Du die Abfrage vor alle Klammern aus. Schreibe conditions immer zu Beginn im Setup-Bereich (hast Du ja bei den anderen Abfragen richtigerweise durchgeführt).
Das definierte temporäre Objekt wird an entsprechender Stelle hineinkopiert "<" .

Nochmals zum ausdrucken und einrahmen, falls das jemand liest 😉

conditions dürfen nicht innerhalb geschweifter Klammern stehen.

grüsse