Zum Inhalt springen

[treeLevel = -1]

Erstellt am 5. April 2005 · 2 Antworten · letzte Antwort am 7. April 2005

Tags: Frage

hardcoder ·

wie kann man den letzen Level eines Seitenzweiges herausfinden?

Ziel: Befindet man sich auf einer Seite die selbst keine Unterseiten hat soll das Menü entryLevel = -2 gezeigt werden ansonsten entryLevel = -1

Gibts ne Chance?

Grüße

Jörg

hardcoder ·

Denkt nicht ich würde immer selbstgespräche führen ...

behelfsmässige Lösung

	[treeLevel = 1,2,3,4]
temp.menu_left.entryLevel = -1
[end]

[PIDupinRootline = 1,2,3,4,5,6........]
temp.menu_left.entryLevel = -2
[end]

PIDupinRootline: alle Knotenseiten - das geht solange gut bis aus einer nicht-Knotenseite eine gemacht wird ...die muss dan in die Liste eingetragen werden - damit der Support eine Lebensberechtigung hat :-)

hardcoder ·

und nun nochmal optimiert:

localconf.php ergänzen:

function user_match($cmd) { 
  switch($cmd) { 
    case "hasNoSubpage":
      $uid=$GLOBALS['TSFE']->id;
      // Looking for a mount-pid for this UID since if that exists we should look for a subpages THERE and not in the input $uid;
      $mount_info = $GLOBALS['TSFE']->sys_page->getMountPointInfo($uid);
      if (is_array($mount_info))	{
        $uid = $mount_info['mount_pid'];
      }
      $recs = $GLOBALS['TSFE']->sys_page->getMenu($uid,'uid,pid,doktype,mount_pid,mount_pid_ol');
      if($recs){
        return false;
      }
      else{
        return TRUE;
      }
    break;
  }
}

typoscript:

[treeLevel = 1,2,3,4]
temp.menu_left.entryLevel = -1
[end]

[userFunc = user_match(hasNoSubpage)]
temp.menu_left.entryLevel = -2
[end]

nun hat der Support wieder Ruhe ....