Zum Inhalt springen

Elemente aus der Rechten Spalte extra Parsen?

Erstellt am 24. September 2005 · 1 Antwort · letzte Antwort am 25. September 2005

Tags: Frage

ViperT ·

Hi@all,

bei meiner Typo3 Präsenz habe ich vom Seitendesign ein 3 Spalten Layout.
links: die Menüs
mitte: der Content
rechts: Sonstiges, Usermenü
Für links und rechts hab ich jeweils "Blöcke" die ich Beispielsweise so erstelle:

# Aktuelles
temp.aktuelles =< plugin.tt_news
temp.aktuelles.defaultCode = LATEST
temp.aktuelles {
  latestLimit = 3
  singlePid = 11
}
temp.menu_news = TEMPLATE
temp.menu_news {

  template = FILE
  template.file = fileadmin/tmpl/menu_l.tmpl
  marks {
    menu_id = TEXT
    menu_id.value = aktuelles

    menu_title = TEXT
    menu_title.value = Aktuelles
    
    menu_miniimg = IMAGE
    menu_miniimg.file = fileadmin/tmpl/images/aktuelles.png
    menu_miniimg.params = class="miniimg"
    menu_miniimg.altText = Aktuelles

    menu_content < temp.aktuelles
  }
}

temp.menu_news weise ich dann später einem Marker zu.

Jetzt möchte ich die Möglichkeit haben, die rechte Spalte mit Seitenspezifischen Blöcken zu füllen. Dafür verwende ich dann die "Rechts" Spalte aus dem Typo3 Layout.
Momentan lese ich den Inhalt von "Rechts" folgendermaßen:

# Rechts
temp.menu_rand = TEMPLATE
temp.menu_rand.if {
  isTrue.value
}
temp.menu_rand {
  value = styles.content.getRight
  template = FILE
  template.file = fileadmin/tmpl/menu_r.tmpl
  marks {
    menu_id = TEXT
    menu_id.value = rand

    menu_title = TEXT
    menu_title {
      field = title
      wrap = |
    }
    
    menu_miniimg = IMAGE
    menu_miniimg.file = fileadmin/tmpl/images/aktuelles.png
    menu_miniimg.params = class="miniimg"
    menu_miniimg.altText = site

    menu_content < styles.content.getRight
  }
}

Mein Problem besteht momentan noch darin, dass ich diesen Block nicht ausgeblendet bekomme, wenn Rechts keinen Inhalt hat. Ich habe es schon mit einer if Bedingung versucht, aber vermutlich hab ich deren Funktionsweise noch nicht ganz verstanden :/

Am liebsten aber währe es mir, wenn ich für jedes Element, welches ich in Rechts reinpacke, ein eigener Block erzeugt wird. Ich hab schon überlegt, ob das irgentwie mit nem stdWrap oder so möglich ist.
Also quasi so in der Richtung:

temp.menu_rand < styles.content.getRight
temp.menu_rand.stdWrap = BlockAnfang | BlockEnde

Nur leider will Typo3 nicht so wie ich 🙁 hoffe ihr könnt mir helfen.

MfG ViperT

ViperT ·

Wie sagt man doch so schön, wer suchet der findet 😉 und ich hab eine Lösung gefunden :o

# Rechts
temp.menu_rand = CONTENT
temp.menu_rand {
  table = tt_content
  select {
    where = colPos = 2
    orderBy = sorting
    languageField = sys_language_uid
  }
  renderObj = TEMPLATE
  renderObj {
    template = FILE
    template.file = fileadmin/tmpl/menu_r.tmpl
    marks {
      menu_id = TEXT
      menu_id {
        field = header
        wrap = |
      }

      menu_title = TEXT
      menu_title {
        field = header
        wrap = |
      }
    
      menu_miniimg = TEXT
      menu_miniimg.value = 

      menu_content = TEXT
      menu_content {
        field = bodytext
        wrap = |
      }
    }
  }
}

Ich war vermutlich gestern Abend nur einfach zu müde ^^ hoffe euch hilft das auch weiter, wenn ihr mal ein ähnliches Problem habt.
Achja, es bringt immer was in den FAQs und Tutorials Bereich rein zu schauen 😉