Rootline an Extension anpassen wurde Beantwortet

Autor Nachricht
Verfasst am: 29.01.2008 [11:16]
Mopps

[Themenersteller]
dabei seit: 21.02.2006
Beiträge: 249

Rootline / Beadcrumb Menü / Pfadmenü an Extensions anpassen.

Ein Pfadmenü zu erstellen ist nicht schwer. Dieses Forum bietet viele gute Beispiele. Ich möchte hier einmal festhalten, wie man das Pfadmenü an verwendete Extensions anpasst, damit bei tt_news z. Bsp. der Titel der News im Pfadmenü angezeigt wird oder der Titel des Datensatzes einer selbst geschriebenen Extension. Auch dafür gibt es Beispiele im Forum, die ich jedoch nicht sofort verstanden habe. Vielleicht hilft dieses kleine Tutorial einigen von Euch weiter.

Ein simples Pfadmenü könnte z.Bsp. wie folgt aussehen. Der TypoScript-Code sollte in deinem Root-Template im SETUP stehen:

Typoscript:Zeilennummerierung:  An / Aus

  1. temp.pathmenu = COA
  2. temp.pathmenu.10 = HMENU
  3. temp.pathmenu.10 {
  4.         # Auch Seiten anzeigen vom Typ: Nicht im Menü
  5.         includeNotInMenu = 1
  6.        
  7.         special = rootline
  8.         special.range = 0|-1
  9.        
  10.         1 = TMENU
  11.         1 {
  12.                 target = _top
  13.                 NO {
  14.                         allWrap = |  »  |*| |  »  |*| |
  15.                 }
  16.         }
  17.  
  18.         # Aktuell gewähltes Element
  19.         1.CUR = 1
  20.         1.CUR {
  21.                 doNotLinkIt = 1
  22.                 wrap = » |
  23.         }
  24. }


Will man das Pfadmenü jetzt für die News (tt_news) oder eine selbst geschriebene Extension anpassen, dann folgenden TypoScript-Code direkt unter den obigen Code platzieren.

Typoscript:Zeilennummerierung:  An / Aus

  1. # ----- Änderungen für tt_news (Newstitel im Rootline anzeigen ----- #
  2.  
  3. [globalVar = GP:tx_ttnews|tt_news > 0]
  4. temp.pathmenu.10.special.range = 0|-2
  5. temp.pathmenu.20 = RECORDS
  6. temp.pathmenu.20 {
  7.         dontCheckPid = 1
  8.         tables = tt_news
  9.         source.data = GPvar:tx_ttnews|tt_news
  10.         conf.tt_news = COA
  11.         conf.tt_news.20 = TEXT
  12.         conf.tt_news.20.field = title
  13.         conf.tt_news.20.crop = 60 | ...
  14.         conf.tt_news.20.wrap =  »  |
  15. }       
  16. [end]
  17.  
  18.  
  19.  
  20. # ----- Änderungen für eigene Extensions ----- #
  21. # Du musst deine eigenen Werte für Tabelle,etc. eintragen
  22.  
  23. [globalVar = GP:tx_deinExtKey_pi1|VariablenName > 0]
  24. temp.pathmenu.10.special.range = 0|-1
  25. temp.pathmenu.20 = RECORDS
  26. temp.pathmenu.20 {
  27.         dontCheckPid = 1
  28.        
  29.         # Tabellenname eintragen
  30.         tables = tx_DeinTabellenName
  31.        
  32.         # Eintragen, wie die Variable übertragen wird
  33.         source.data = GPvar:tx_deinExtKey_pi1||VariablenName
  34.         conf.tx_DeinTabellenName = COA
  35.         conf.tx_DeinTabellenName.20 = TEXT
  36.        
  37.         # Feld deiner Tabelle, das im Pfadmenü angezeigt werden soll
  38.         conf.tx_DeinTabellenName.20.field = DeinTabellenFeld
  39.        
  40.         # Länge des Feldes auf 60 Zeichen beschränken
  41.         conf.tx_DeinTabellenName.20.crop = 60 | ...
  42.         conf.tx_DeinTabellenName.20.wrap =  »  |
  43. }       
  44. [end]


Grüße,

Stephan
Verfasst am: 13.02.2008 [17:04]
opaque

dabei seit: 11.09.2007
Beiträge: 55

Hallo

1.) DANKE für das TS.

2.) Wie baut man das TS auf wenn man mehrere Extensions eingebaut hat. (z.B. tt_news, jm_gallery, tt_products alle auf der RootPage).

Der Ansatz von mir funktioniert bis auf das bei der Gallery das Album keinen Link hat wenn man ein Bild betrachtet.
Aber das geht doch sicher eleganter, bzw. so viel code kann ja auch nicht gut sein für die Performance.

Hat da jemand eine Vorschlag?

Walter

Typoscript:Zeilennummerierung:  An / Aus

  1. lib.breadcrumbs = COA
  2. lib.breadcrumbs.10 = HMENU
  3. lib.breadcrumbs.10 {
  4.         # Auch Seiten anzeigen vom Typ: Nicht im Menü
  5.         includeNotInMenu = 0
  6.        
  7.         special = rootline
  8.         special.range = 0|-1
  9.        
  10.         1 = TMENU
  11.         1 {
  12.                 target = _top
  13.                 NO {
  14.                         allWrap = | » |*| | » |*| |
  15.                 }
  16.         }
  17.  
  18.         # Aktuell gewähltes Element
  19.         1.CUR = 1
  20.         1.CUR {
  21.                 linkWrap =<strong>|</strong>
  22.                 doNotLinkIt = 1
  23.         }
  24. }
  25.  
  26. [globalVar = GP:tx_ttnews|tt_news > 0]
  27. lib.breadcrumbs.10.special.range = 0|-2
  28. lib.breadcrumbs.20 = RECORDS
  29. lib.breadcrumbs.20 {
  30.         dontCheckPid = 1
  31.         tables = tt_news
  32.         source.data = GPvar:tx_ttnews|tt_news
  33.         conf.tt_news = COA
  34.         conf.tt_news.20 = TEXT
  35.         conf.tt_news.20.field = title
  36.         conf.tt_news.20.crop = 60 | ...
  37.         conf.tt_news.20.wrap =   »  |
  38. }       
  39. [end]
  40.  
  41. # Du musst deine eigenen Werte für Tabelle,etc. eintragen
  42. [globalVar = GP:tx_jmgallery_pi1|albumUid > 0]
  43. lib.breadcrumbs.10.special.range = 0|-2
  44. lib.breadcrumbs.20 = RECORDS
  45. lib.breadcrumbs.20 {
  46.         dontCheckPid = 1
  47.         # Tabellenname eintragen
  48.         tables = tx_jmgallery_albums
  49.         # Eintragen, wie die Variable übertragen wird
  50.         source.data = GPvar: tx_jmgallery_pi1|albumUid
  51.         conf.tx_jmgallery_albums = COA
  52.         conf.tx_jmgallery_albums.20 = TEXT
  53.         # Feld deiner Tabelle, das im Pfadmenü angezeigt werden soll
  54.         conf.tx_jmgallery_albums.20.field = name
  55.         # Länge des Feldes auf 60 Zeichen beschränken
  56.         conf.tx_jmgallery_albums.20.crop = 60 | ...
  57.         conf.tx_jmgallery_albums.20.wrap =  »  |
  58. }       
  59. [end]
  60. [globalVar = GP:tx_jmgallery_pi1|imageUid > 0]
  61. lib.breadcrumbs.20.special.range = 0|-1
  62. lib.breadcrumbs.30 = RECORDS
  63. lib.breadcrumbs.30 {
  64.         dontCheckPid = 1
  65.         # Tabellenname eintragen
  66.         tables = tx_jmgallery_images
  67.         # Eintragen, wie die Variable übertragen wird
  68.         source.data = GPvar: tx_jmgallery_pi1|imageUid
  69.         conf.tx_jmgallery_images = COA
  70.         conf.tx_jmgallery_images.30 = TEXT
  71.         # Feld deiner Tabelle, das im Pfadmenü angezeigt werden soll
  72.         conf.tx_jmgallery_images.30.field = filename
  73.         # Länge des Feldes auf 60 Zeichen beschränken
  74.         conf.tx_jmgallery_images.30.crop = 60 | ...
  75.         conf.tx_jmgallery_images.30.wrap =  »  |
  76. }       
  77. [end]
Verfasst am: 14.02.2008 [08:56]
Mopps

[Themenersteller]
dabei seit: 21.02.2006
Beiträge: 249

Auch wenn du mehrere Extension auf einer Seite am laufen hast sollte dies funktionieren.

Und ob es kürzer geht weiß ich nicht. Ich muss ja TYPO3 sagen, was es wo finden kann, um es anzuzeigen. Und sooo viel Performance wird dadurch nicht verloren gehen.

Grüße
Verfasst am: 14.05.2008 [11:09]
Toccamonium

dabei seit: 01.10.2005
Beiträge: 100

Meine bisherige Rootline wird wie folgt aufgebaut:

Typoscript:Zeilennummerierung:  An / Aus

  1. lib.rootline = HMENU
  2. lib.rootline {
  3.   wrap = <div id="rootline">|</div>
  4.   includeNotInMenu = 1
  5.   special = rootline
  6.   entryLevel = -2
  7.   1 = TMENU
  8.   1 {
  9.     NO=1
  10.     NO {
  11.       before = Sie sind hier: ||  »  ||  »  ||  »  ||  » 
  12.       after =  
  13.     }
  14.     ACT < .NO
  15.     CUR < .NO
  16.   }
  17. }


Jetzt habe ich mal nach deinem Beispiel das Ganze für tt_products
probiert. Leider erscheint aber nichts, wenn man sich auf der
Detailseite des Produktes befindet :(
Woran könnte das denn liegen?

Typoscript:Zeilennummerierung:  An / Aus

  1. [globalVar = GP:tx_ttproducts|tt_products > 0]
  2. lib.rootline.10.special.range = 0|-2
  3. lib.rootline.20 = RECORDS
  4. lib.rootline.20 {
  5.         dontCheckPid = 1
  6.         tables = tt_products
  7.         source.data = GPvar:tx_ttproducts|tt_products
  8.         conf.tt_products = COA
  9.         conf.tt_products.20 = TEXT
  10.         conf.tt_products.20.field = title
  11.         conf.tt_products.20.crop = 60 | ...
  12.         conf.tt_products.20.wrap =  »  |
  13. }       
  14. [end]


Danke!
T.C.




 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.