Zum Inhalt springen

seitentitel über ts ändern

Erstellt am 6. Mai 2008 · 12 Antworten · letzte Antwort am 2. Juni 2008

Tags: Frage

wini2 ·

hi,

für den menüeintag "login" suche ich eine lösung, um im angemeldetem zustand den menüeintrag auf "logut" zu setzen.

die weiterleitungen funktionieren nicht, wenn ich mit mehreren seiten (jeweils eine für login und logout arbeite, die im eingeloggtem zustand sichtbar bzw. nicht sichtbar sind).

meine idee ist, das problem über conditions zu erledigen, die sich ja auch schachteln lassen, z. b. mittels [usergroup = *] && [globalVar=GP:id = 22]

leider weiß ich nicht, wie ich den titel für diese seite zuweise.

ich hoffe, es findet sich jemand, der mit helfen kann.

gruß und dank
wini2

just2b ·

gib als subtitle Logout an und in der condition lässt du als titel im menü den subtitle ausgeben

georg

wini2 ·

hallo georg,

danke für den tipp. leider weiß ich nicht wie. wenn ich es richtig sehe, muss ich den title aus der pages-tabelle überschreiben. ich habe allerdings keinen plan, wie ich das mache.

gruß
wini2

wini2 ·

hallo,

vielleicht ein anderer ansatz, bei dem mir jemand helfen kann?

if.isInList.field = pid
if.value = 22

ich habe ein ganz normales textmenü

temp.navigation = HMENU
temp.navigation.1.IProcFunc = user_IProc_dfn

temp.navigation {
   
   special = directory
   special.value = 3
  
  
   ### Ebene 1 ###
1 = TMENU
1 {
noBlur = 1
expAll = 0
wrap = <ul> | </ul>
 
   
NO.stdWrap.htmlSpecialChars = 1
NO.wrapItemAndSub = <li> | </li>
   
ACT = 1
ACT.ATagParams = class="active"
ACT.wrapItemAndSub = <li> | </li>
ACT.stdWrap.htmlSpecialChars = 1

   
ACTIFSUB = 1
ACTIFSUB.ATagParams = class="actifsub"
ACTIFSUB.wrapItemAndSub = <li> | </li>
ACTIFSUB.stdWrap.htmlSpecialChars = 1
   
   
CUR = 1
CUR.ATagParams = class="current"
CUR.wrapItemAndSub = <li> | </li>
CUR.stdWrap.htmlSpecialChars = 1

}

### Ebene 2 ###
2 < .1

### Ebene 3 ###
3 < .2
}

wäre wirklich klasse, wenn mir jemand auf die sprünge helfen würde

wini2

just2b ·

Ich habs glaubs so mal gelöst.

lib.servicemenu = HMENU
lib.servicemenu {
	special = list
	special.value = 42,41,40,39,38
	1 = TMENU
	1 {
		wrap = <ul class="add">|</ul>
		expAll = 1
		noBlur = 1
		NO {
			wrapItemAndSub =  <li>|</li>
		}
	}
}

[usergroup = *]
	lib.servicemenu.1.NO.stdWrap.field = title // nav_title
	lib.servicemenu.1.ACT.stdWrap.field = title // nav_title
[global]

mit dem navtitle und subtitle

georg

wini2 ·

hallo georg,

entschuldige, wenn ich mich ausgesprochen blöd anstelle.

soweit ich es verstehe, liest deine lösung zuerst untertitel und dann den titel aus, sofern ein fe-user eingeloggt ist. wäre sicher möglich. weil ich aber noch andere conditions verwende und [] nicht in {} sein darf, wird das etwas aufwändig.

gibt es eine möglichkeit, das datenbankfeld untertitel statt des seitentitels für eine bestimmte seite zuzuweisen.

z.b. irgendwas, dass ich ich direkt für das menü oder - besser - generell angeben kann. ungefähr was, wie nachfolgend angedeutet.

[PIDinRootline = 22] && [usergroup = *]
page.feld.titel < untertitel
[end]

danke
wini2

just2b ·

ja zB mit subtitle // title // nav_title wie im Bsp vorher

dann wird der subtitle genommen, falls leer der title, falls der leer der nav title

georg

wini2 ·

ich probier es gerade mal mit

[PIDinRootline = 22] && [usergroup = *]

        temp.navigation.1.NO.stdWrap.field = subtitle // title
        temp.navigation.1.ACT.stdWrap.field = subtitle // title
        temp.navigation.1.ACTIFSUB.stdWrap.field = subtitle // title
        temp.navigation.1.CUR.stdWrap.field = subtitle // title

[global]

leider wirkt es nicht so recht. auch andere seiten, die einen untertitel haben, werden dann im menü mit ihrem untertitel angezeigt, wenn pid = 22 ausgewählt wird.

es verwundert auch nicht, denn es wird ja subtitle statt title angezeigt, wenn die seite 22 ausgwählt und der besucher angemeldet wird.

besser wäre eine lösung, die den titel mit dem subtitle überschreibt.

gruß
wini2

just2b ·

naja die condition greift auch für alle Links...

da müsstest du in stdWrap schon noch mit if prüfen ob die Seiten-ID 22 ist

georg

wini2 ·

das ist ja mein problem - ich weiß leider nicht wie. ich stelle mir was vor wie

if.isInList.field = pid
if.value = 22

aber wo einsetzen?

just2b ·

ungetestet

NO.stdWrap.cObject = TEXT
NO.stdWrap.cObject {
			field =  subtitle 		
			if.value.field = uid
			if.equals = 22
}

georg

wini2 ·

danke für deine ausdauer. leider klappt der ansatz auch nicht.

kann man den seitentitel nicht über die conditions direkt verbiegen?

gruß

der.​andy ·

Ursprünglich wolltest du ja Logout statt Login stehen haben. Erstelle doch zwei Seiten. Blende Login für eingeloggte User / Logout für ausgeloggte User aus.