Funktionierendes Section Menu mit TemplaVoila

Übermittlung Ihrer Stimme...
Noch nicht bewertet. Seien Sie der Erste, der diesen Artikel bewertet!
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.

Wenn man TemplaVoila benutzt funktioniert das Menu/Sitemap "Section index (pagecontent w/Index checked)" nicht ( gelöschte Elemente sind im Menu und die Sortierung ist falsch).

Section Menu Templavoila

Das ist weil das TemplaVoila rendering nicht das "sorting" und das "deleted" Feld benutzt, sondern eine Liste der UIDs für die sichtbaren Inhaltselemente in einem eigenen Feld der Tabelle pages speichert (tx_templavoila_flex).

Mit ein wenig TypoScript kann das "Section Menu" umgeschrieben werden.

Durch das Speichern der sichtbaren UIDs in einem register Wert (recordsInTVField) können wir eine TypoScript SQL abfrage erstellen die nur die sichtbaren Inhaltselmente auslest und diese auch richtig sortiert.

Der register Wert kann auch in anderen Scripts verwerndet werden wo man die UIDs der Inhaltselmente benutzen möchte.

Die Lösung

In der TemplaVoila Data Structure (DS) schauen alle Felder die Inhaltselmente (CE) enthalten so aus:

 

10 = RECORDS
10.source.current=1
10.tables = tt_content
10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->

 

Diesen Teil der DS muss man wie folgt ändern:

 

5 = LOAD_REGISTER
5.recordsInTVField.data = current:1
10 = RECORDS
10.source.data=register:recordsInTVField
10.tables = tt_content
10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
15 = RESTORE_REGISTER

 

Im TypoScript SETUP Feld folgendes eingeben:

 

tt_content.menu.20.3 >
tt_content.menu.20.3 = CONTENT
tt_content.menu.20.3 {
  wrap = <ul class="csc-menu csc-menu-3">|</ul>
  table = tt_content
  select.pidInList = this
  select.andWhere.dataWrap = uid IN ({register:recordsInTVField}) AND sectionIndex!=0
  renderObj = TEXT
  renderObj {
    fieldRequired = header
    trim=1
    field = header
    htmlSpecialChars = 1
    wrap = <li class="csc-section">|</li>
    typolink.parameter.field = pid
    typolink.section.field = uid
  }
}

 

Bemerkung: Das sollte für alle Spalten in der DS gemacht werden, sonst kann sein,dass man uid Werte von anderen Spalten bekommt.

 

Dieses Snippet wurde von Peter Klein eingesendet



Comments


johann, 20-07-09 18:39:
Hallo,

tolle Sache, leider funktioniert die Sortierung nicht er macht das einfach nach den ce uid aufsteigend.

viele Grüße
Johann
johann, 20-07-09 18:49:
hier steht eine funktionierende Lösung.

http://typo3.toaster-schwerin.de/typo3_english/2005_05/msg01741.html
Gruss Johann

Kommentar hinzufügen

* - Pflichtfeld

*



*
*

Top 10 Updates

Nützliche Links geändert am  24-Apr-2013 06:31:02
Login geändert am  09-Sep-2010 09:31:35
Schöne Schriften mit Google Font API geändert am  20-Mai-2010 14:36:59
TS basierte Searchbox für Indexed Search geändert am  18-Mai-2010 16:26:54
TYPO3 SEO geändert am  30-Apr-2010 07:43:20
Suchmaschinenfreundliche grafische Überschriften in TYPO3 geändert am  30-Apr-2010 07:33:56
Erstellen eines einfachen Infocenters mit TYPO3  geändert am  17-Nov-2009 11:11:22
Funktionierendes Section Menu mit TemplaVoila geändert am  05-Mai-2009 10:42:40
"Nicht im Menü" in Sitemap anzeigen geändert am  05-Mai-2009 10:12:24
Implementation des DHTML Menüs von brainjar.com  geändert am  01-Feb-2009 13:01:36

Latest comments

22-Apr-2016 07:20:42
Stephan schrieb: Perfekt wäre es, wenn man dieses Beispiel für TYPO3 7.x ummünzen könnte.
Einfache Bildergalerie aus dem media Feld
12-Apr-2016 17:05:49
Peter schrieb: habs... Einfach noch 10.renderObj.header.10 = 10.renderObj.textpic.10 = ...
Andere Formatierung für erstes Element in TYPO3
12-Apr-2016 16:36:46
Peter schrieb: Wunderbar, auch wenn der Eintrag schon nen bisschen älter ist... .. klappt soweit T3...
Andere Formatierung für erstes Element in TYPO3
English
Suche: