Zum Inhalt springen

Beim Login Menütext = Subtitle

Erstellt am 8. Oktober 2007 · 5 Antworten · letzte Antwort am 10. Oktober 2007

Tags: Frage

FrankT ·

Hallo,

ich suche eine Möglichkeit, den Menütext zu ändern.
Falls jemand eingeloggt ist, soll der subtitle statt dem title angezeigt werden.

Wie kann man das mit TypoScript machen?

Gruß
Frank

PS: es soll aber nur der Text von einer bestimmten Seite geändert werden.

FrankT ·

Hallo,

meine Idee ist folgende:

if(login) {
   pages[55][title] = pages[55][subtitle]
}

Natürlich kann es so NICHT funktionieren, das ist mir klar, aber sicherlich ist es der einfachste Ansatz, falls es irgendwie auf diese Art zu lösen ist.
Leider fehlt mir die genaue Syntax und der Ort, wo das ganze rein muß.

Gruß
Frank

FrankT ·

Danke christina83,

leider stehe ich immer noch auf dem Schlauch. :o

Wie kann ich entscheiden, von welcher Seite der title und von welcher Seite der subtitle genommen wird?
Ich erlaube mir, einen Teil der Quelle von eurer Seite hier zu übernehmen.

   1 = TMENU
   1.NO.stdWrap.cObject = COA
   1.NO.stdWrap.cObject {
                10 = TEXT
                10.field = title
<< if seitenID = 55 && login = true >>
                10.field = subtitle
<< end if >>
                10.wrap =|
   }

Mir fehlt die Möglichkeit, im Einzelfall zu entscheiden, was angezeigt werden soll.
Meine Frage habe ich mit << ... >> deutlicher gemacht, wo wohl noch etwas eingebaut werden muß.

Vielleicht kannst du mir noch einen Tipp geben.

Gruß
Frank

FrankT ·

Diese Variante wäre auch denkbar ...

   1 = TMENU
   1.NO.stdWrap.cObject = COA
   1.NO.stdWrap.cObject {
                10 = TEXT
                10.field = title
<< if login = true >>
                10.field = subtitle || title
<< end if >>
                10.wrap =|
   }

... nur wie setzt man es um ? #angry#

Gruß
Frank

FrankT ·

Ich habe es nun mit einer UserFunc gemacht:

<?
class user_evermenu {
	function do_evermenu ($menuArray,$conf) {
		GLOBAL $GLOBALS;
		if ($GLOBALS["TSFE"]->loginUser) {
			$anzahl = count($menuArray);
			for($i = 0; $i < $anzahl; $i++) {
				if($menuArray[$i]["uid"] == "55") $menuArray[$i]["title"] = $menuArray[$i]["subtitle"];
			}
		}
		return $menuArray;
	}
}
?>

Gruß
Frank