TYPO3 Menü/Sitemap Element mit Bildern

Das Menü-Sitemap Element von TYPO3 ist eine nette Sache und vielfach verwendbar. Was allerdings fehlt ist ein Menüelement, das auch ein Bild (aus Seiteneigenschaften / Ressourcen) pro Seite anzeigt und dieses zusätzlich zum Seitentitel mit der Seite verlinkt. Hier die Anleitung zum Eigenbau:

Weiterhin soll noch ein Text aus der Inhaltsangabe (Seiteneigenschaften / Metadaten) ausgegeben werden.

Achtung: diese Beschreibung ist seit TYPO3 8.7 obsolet. Eine aktuelle Version befindet sich hier.

Zunächst müssen wir das neue Element zur redaktionellen Auswahl im Datensatz Menü/Sitemap hinzufügen. Das geschieht über das Seiten-TSconfig auf der Rootseite (Seiteneigenschaften / Ressourcen / TypoScript-Konfiguration) und lautet folgendermaßen:

TCEFORM {
  tt_content {
    menu_type {
      addItems {
        10 = Menüelement mit Bild
      }
    }
  }
}

Die Nummer 10 wird verwendet, weil bis einschließlich Nummer 8 alle bereits belegt sind.

Sodann muss folgender Code in das TypoScript Template der Rootseite eingefügt werden:

tt_content.menu {
  20 {
    10 = HMENU
    10 {
      #special = directory
      special = list
      special.value.field = pages
      1 = TMENU
      1.wrap = <div class="menu10">|</div>
      1.NO {
        doNotLinkIt = 1
        stdWrap.cObject = COA
        stdWrap.cObject {
          10 = FILES
          10 {
            references {
              table = pages
              fieldName = media
            }
             renderObj = IMAGE
             renderObj {
              file {
                width = 263c
                height = 155c
                maxW = 263c
                maxH = 155c
                import.data = file:current:publicUrl
              }
              altText.field = title
              imageLinkWrap = 1
              imageLinkWrap {
                enable = 1
                typolink.parameter.field = uid
              }
            }
            stdWrap.wrap = <div class="menu10_bild">|</div>
          }
 
          20 = TEXT
          20.field = title
          20.typolink.parameter.field = uid
          20.wrap = <div class="menu10_text"><h2>|</h2>
 
          30 = TEXT
          30.field = abstract
          30.wrap = <p>|</p></div>
        }
      }
    }    
  }
}

Zur Erklärung:

special = directory

kann verwendet werden, wenn im Datensatz Menü/Sitemap nicht einzelne Seiten ausgewählt werden sollen, sondern nur eine Seite, deren Unterseiten dann angezeigt werden.

Dass das cObject FILES zum Einsatz kommt ist der Tatsache geschuldet, dass es sich hier um eine TYPO3 Version 6.2.x handelt. In früheren Versionen hat man direkt mit IMAGE gearbeitet, ähnlich wie bei den Rubrikbildern (s. dieser Beitrag). Das funktioniert aber möglicherweise nicht bei allen Installationen, von daher ist FILES die bessere Wahl.

Links:
http://www.typo3-probleme.de/2014/03/30/typo3-6-2-probleme-mit-ressourcen-media-auslesen/
http://www.typo3forum.net/forum/typoscript-menuesystem/74896-sitemap-bildern-typo3-6-2-a.html