Zum Inhalt springen

Seitentitel des Hauptmenü-Eintrags auslesen

Erstellt am 13. Juli 2010 · 8 Antworten · letzte Antwort am 24. Februar 2011

Tags: SEO, PHP, Frage

johanness ·

Hallo zusammen!

Ich möchte nicht direkt eine Extension schreiben, sondern nur ein schon bestehendes PHP-Script erweitern, das den Seitentitel suchmaschinenoptimiert anpasst.

Wie kann ich den Seitentitel des aktiven Hauptmenü-Eintrags auslesen?

<?php
class user_pagetitle_class	{
    var $cObj;

	function changetitle ($content, $conf)	{
   		$abstract  = $GLOBALS['TSFE']->page["abstract"];
		$title     = $GLOBALS['TSFE']->page["title"];
		$mainmenu  = ??????????
		$sitetitle = $GLOBALS['TSFE']->tmpl->setup['sitetitle']:$title;
		
		if($abstract) {
			$pageTitle = $abstract." - ".$title." - ".$mainmenu." - ".$sitetitle
		} else {
			$pageTitle = $title." - ".$mainmenu." - ".$sitetitle
		}
		
		return $pageTitle;
	}
}

if (defined("TYPO3_MODE") && $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/mf_pagetitle/pagetitle.php"])	{
	include_once($TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/mf_pagetitle/pagetitle.php"]);
}

?>
Mopps ·

"Wie kann ich den Seitentitel des aktiven Hauptmenü-Eintrags auslesen?"
Was meinst du damit? Den aktuellen Seitentitel oder den Seitentitel der Elternseite?

Letzteres wäre auf jeden Fall nicht "suchmaschinenoptimiert", da es diesen Seitentitel dann doppelt gäbe.

johanness ·
Mopps schrieb

"Wie kann ich den Seitentitel des aktiven Hauptmenü-Eintrags auslesen?"
Was meinst du damit? Den aktuellen Seitentitel oder den Seitentitel der Elternseite?


Weder noch. Ich möchte immer den Titel aus dem Hauptmenü auslesen, also z.B. auf der Ebene leveltitel 0.

Hintergrund: Wir haben im Hauptmenü inhaltliche Schwerpunkte/Rubriken geschaffen. Der User befindet sich immer in einer dieser Themenwelten und soll es immer im Seitentitel lesen könnnen.

johanness ·

Hier die Lösung:

Ich benutzt nun nicht mehr die Extension »mf_pagetitle«, weil ich mit ihr nur schlecht alle Felder aus den Seiteneigenschaften auslesen kann. Viel einfacher und filigraner geht es rein mit TypoScript ohne Extension:

config.noPageTitle = 2

page.headerData.10 = COA
page.headerData.10.wrap = <title>|</title>
page.headerData.10 { 
	
	# Aktuelle Unterseite
	############################################
	10 = TEXT
	10.field = nav_title // title
	10.noTrimWrap = || « |
	
	# Aktuelle Rubrik
	############################################
	11 = TEXT
	11.data = levelfield : -1 , subtitle, slide
	11.stdWrap.required = 1
	11.stdWrap.noTrimWrap = || « |
	
	# Allgemeiner Seitentitel
	############################################
	12 = TEXT
	12.value = Meine Internetseite
	
}

PS: Vielleicht sollte man dieses Thema jetzt eher in die Rubrik mit TypoScript verschieben. Die Lösung macht unter »Extension schreiben« keinen Sinn mehr …