(Kommentare: 1)

Typo3: Navigationstitel in Extension ms_footermenu

Da ein Kunde neulich fleißig seine Titel im Typo3-Seitenbaum angepasst hat, fiel uns auf, dass die eingesetzte Footer-Extension “ms_footermenu” ausschließlich auf selbige zurückgreift und den optionalen Naviagtionstitel vernachlässigt. Dies hatte natürlich, aufgrund der längeren Seitentitel, ein vollkommen verschobenes CSS-Layout im Footer zur Folge.

Typo3 unterscheidet Seiten- und Navigationstitel.

Um dieses kleine aber entscheidende Versäumnis in der Extension zu korrigieren ist es leider nötig im PHP-Core etwas am Code zu schrauben:
Achtung: Beim nächsten Update der Extension sind die Änderungen wieder weg, aber hoffen wir mal das dieser Bug dann gefixt ist.
Im Order T3config/ext/ms_footermenu/pi1/class.tx_msfootermenu_pi1.php sucht ihr folgende Zeilen und ergänzt deren Inhalt:

$mrkLink = array (
'###MS_FOOTER_LNKCLS###' => $linkClass,
'###MS_FOOTER_AHREF###'  => $this->pi_getPageLink($page['uid']),
'###MS_FOOTER_TARGET###' => $this->conf['footertarget'],
'###MS_FOOTER_TITLE###'  => htmlentities($page['subtitle'] ? $page['subtitle']:$page['title'], ENT_QUOTES, $GLOBALS['TSFE']->renderCharset),
'###MS_FOOTER_TEXT###'   => htmlentities($page['title'], ENT_QUOTES,$GLOBALS['TSFE']->renderCharset)
);

ersetzen durch

if (empty($page['nav_title'])) {

$mrkLink = array (
'###MS_FOOTER_LNKCLS###' => $linkClass,
'###MS_FOOTER_AHREF###'  => $this->pi_getPageLink($page['uid']),
'###MS_FOOTER_TARGET###' => $this->conf['footertarget'],
'###MS_FOOTER_TITLE###'  => htmlentities($page['subtitle'] ? $page['subtitle']:$page['title'], ENT_QUOTES, $GLOBALS['TSFE']->renderCharset),
'###MS_FOOTER_TEXT###'   => htmlentities($page['title'], ENT_QUOTES,$GLOBALS['TSFE']->renderCharset)
);

} else {

$mrkLink = array (
'###MS_FOOTER_LNKCLS###' => $linkClass,
'###MS_FOOTER_AHREF###'  => $this->pi_getPageLink($page['uid']),
'###MS_FOOTER_TARGET###' => $this->conf['footertarget'],
'###MS_FOOTER_TITLE###'  => htmlentities($page['subtitle'] ? $page['subtitle']:$page['title'], ENT_QUOTES, $GLOBALS['TSFE']->renderCharset),
'###MS_FOOTER_TEXT###'   => htmlentities($page['nav_title'], ENT_QUOTES,$GLOBALS['TSFE']->renderCharset)
);
}

… dann speichern und den Cache im Backend leeren.
Nun sollte alles so funktionieren wie in einem “normalen” Menü.

Was macht der neue Code: Es wird geprüft ob in der Variable “$page['nav_title']” ein Wert für den Navigationstitel vorhanden ist. Ist dem nicht so, wird auf den Standard-Seitentitel zurückgegriffen.
(PHP-seitig gibt es sicherlich noch elegantere Lösungen, aber so funktioniert erstmal alles wie es soll.)


Zurück

Einen Kommentar schreiben

Kommentar von Manfred Müller-Späth |

Was lange währt ...
Leider verspätet drüber gestolpert - Fix ist im TER. Danke für den Hinweis!

Gruß, Manfred