Strict Standards: Declaration of action_plugin_dlcount::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/dlcount/action.php on line 14

Strict Standards: Declaration of action_plugin_indexmenu::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/indexmenu/action.php on line 169

Strict Standards: Declaration of action_plugin_ipban::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/ipban/action.php on line 67

Strict Standards: Declaration of action_plugin_loglog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/loglog/action.php on line 82

Strict Standards: Declaration of action_plugin_navi::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/navi/action.php on line 46

Strict Standards: Declaration of action_plugin_uparrow::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/uparrow/action.php on line 69

Strict Standards: Declaration of action_plugin_userspagecreate::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/userspagecreate/action.php on line 97

Strict Standards: Declaration of cache_instructions::retrieveCache() should be compatible with cache::retrieveCache($clean = true) in /home/www/wiki/inc/cache.php on line 289

Warning: Cannot modify header information - headers already sent by (output started at /home/www/wiki/lib/plugins/dlcount/action.php:14) in /home/www/wiki/inc/auth.php on line 312

Strict Standards: Only variables should be passed by reference in /home/www/wiki/doku.php on line 71

Warning: Cannot modify header information - headers already sent by (output started at /home/www/wiki/lib/plugins/dlcount/action.php:14) in /home/www/wiki/inc/actions.php on line 154
Navigation in verschiedenen Ebenen [phpwcms-HowTo:wiki]

Strict Standards: Declaration of syntax_plugin_code::render() should be compatible with DokuWiki_Syntax_Plugin::render($format, &$renderer, $data) in /home/www/wiki/lib/plugins/code/syntax.php on line 41

Strict Standards: Declaration of syntax_plugin_tip::render() should be compatible with DokuWiki_Syntax_Plugin::render($format, &$renderer, $data) in /home/www/wiki/lib/plugins/tip/syntax.php on line 38

Navigation in verschiedenen Ebenen

Annahme: Die erste Navigationsebene soll horizontal dargestellt werden, beispielsweise im Kopfbereich der Seite. Die darunterliegenden Ebenen sollen vertikal dargestellt werden, beipielsweise auf der linken Seite der Homepage.

Horizontal mit aktiver Ebene category_02
| home | category_01 | [category_02] | category_03 | category_04 |

Vertikale Ausgabe der Unterebene von der aktiven Elternebene (parent) [category_02]

  • category_02_01
  • category_02_02
  • category_02_03


Docu:
Forum: NAV_LIST_UL in verschiedenen Ebenen (mit Hilfe des Level-Lift)

Autor: K.Heermann (flip-flop) http://planmatrix.de 2009/05/13
CMS-Version: >= V1.3.0
Version:
Update:

Bedingung:/config/phpwcms/conf.inc.php

  • $phpwcms['allow_cntPHP_rt'] = 1;



Um das Problem zu lösen werden zwei Navigationen aufgerufen, die eine für den horizontalen, die andere für den vertikalen Bereich. Wichtig dazu ist hier ein Parameter der horiz. Navigation.
Hier wird die Ausgabe nur einer Ebene erlaubt ({NAV_LIST_UL:F,0,1,act_path,active}).

Um die Parameter nachzulesen bitte NAV_LIST_UL (Parameter).
Eine komplettes CSS-Set: NAV_LIST_UL (CSS)

Annahme der Struktur (IDs sind erfunden):

------------------------------------
L  E  V  E  L
.:  :  :  :
.0  1  2  3   <- LEVEL-Nr.
.:  :  :  :
-+ home   :                    ID=0
-+--+ category_01              ID=01
-+--+--+ category_01_01        ID=10
-+--+--+ category_01_02        ID=11
-+--+ category_02              ID=02
-+--+--+ category_02_01        ID=04
-+--+--+--+ category_02_01_01  ID=06
-+--+--+--+ category_02_01_02  ID=07
-+--+--+ category_02_02        ID=05
-+--+--+ category_02_03        ID=08
-+--+ category_03              ID=03
-+--+ category_04              ID=09
.:  :  :  :
.0  1  2  3   <- LEVEL Nr.
------------------------------------

Darstellung der Ausgabe mit:

<div class=“nlu_navi1”>
{NAV_LIST_UL:FP,0,1,act_path,active}
</div> → nur die erste Ebene (Tiefe=1) nach “Home (ID=0)” (hier mit dem parent-Schalter “P” um Home selbst auch darzustellen)

Darstellung: | home | category_01 | [category_02] | category_03 | category_04 |
Und strukturell:

------------------------------------
L  E  V  E  L
.:  :  :  :
.0  1  2  3   <- LEVEL-Nr.
.:  :  :  :
-+ home   :                    ID=0
-+--+ category_01              ID=01
-+--+ category_02              ID=02 (wenn aktiv, siehe unten)
-+--+ category_03              ID=03
-+--+ category_04              ID=09
.:  :  :  :
.0  1  2  3   <- LEVEL Nr.
------------------------------------

Ohne den Paramter “P” sähe das so aus:

<div class=“nlu_navi1”>
{NAV_LIST_UL:FP,0,1,act_path,active}
</div> → nur die erste Ebene (Tiefe=1) nach “Home (ID=0)” (hier ohne den parent-Schalter “P”, → Home wird nicht dargestellt)

Darstellung: | category_01 | [category_02] | category_03 | category_04 |
Und strukturell:

------------------------------------
L  E  V  E  L
.:  :  :  :
.0  1  2  3   <- LEVEL-Nr.
.:  :  :  :
-+--+ category_01              ID=01
-+--+ category_02              ID=02 (wenn aktiv, siehe unten)
-+--+ category_03              ID=03
-+--+ category_04              ID=09
.:  :  :  :
.0  1  2  3   <- LEVEL Nr.
------------------------------------

Nun fehlt noch die Ausgabe der Unterebenen, dazu wird der Level-Liftt verwendet. (Darstellung der Navigation ab einer bestimmten Ebene (Level)).

Level-Lift:

Level-Lift

Dieser php-Schnipsel wird an der Stelle in der Vorlage platziert, an der dieser Navigationsteil erscheinen soll. (In unserem Fall ist das die Ausgabe ab der ersten Ebene → LEVEL_ID'][1]).

[PHP]
if(isset($GLOBALS['LEVEL_ID'][1])) {
$level_id = $GLOBALS['LEVEL_ID'][1];
echo '<div class="nlu_navi1">'.LF;
echo '{NAV_LIST_UL:F,'.$level_id.',,act_path,active}';
echo '</div>';
}
[/PHP]

Wobei LEVEL_ID'][X] die auszugebende Ebene darstellt (Ausgabe ab dieser Ebene ….).
Dieser zweite Navigationsaufruf ({NAV_LIST_UL:….}) ist also eingebettet in ein kleines Steuerungssystem das die Ebenen abfragt.

conf.inc.php → $phpwcms['allow_cntPHP_rt'] = 1; allow PHP replacement tags and includes in content parts

Ausgabe der aktiven Unterebene

Z.B. category_02 = aktiv (in diesem Bsp. durch die horiz. Navi veranlasst)

  • category_02_01
  • category_02_02
  • category_02_03
------------------------------------
L  E  V  E  L
.:  :  :  :
.0  1  2  3   <- LEVEL-Nr.
.:  :  :  :
-+--+--+ category_02_01        ID=04
-+--+--+ category_02_02        ID=05
-+--+--+ category_02_03        ID=08
.:  :  :  :
.0  1  2  3   <- LEVEL Nr.
------------------------------------


Z.B. bei category_02 = aktiv → act_path (horizontal) und category_02_01 = aktiv:

  • category_02_01
    • category_02_01_01
    • category_02_01_02
  • category_02_02
  • category_02_03
------------------------------------
L  E  V  E  L
.:  :  :  :
.0  1  2  3   <- LEVEL-Nr.
.:  :  :  :
-+--+--+ category_02_01        ID=04 (aktiv)
-+--+--+--+ category_02_01_01  ID=06
-+--+--+--+ category_02_01_02  ID=07
-+--+--+ category_02_02        ID=05
-+--+--+ category_02_03        ID=08
.:  :  :  :
.0  1  2  3   <- LEVEL Nr.
------------------------------------

Zusammenfassung:

<div class=“nlu_navi1”> {NAV_LIST_UL:FP,0,1,act_path,active} </div>

und

[PHP]
if(isset($GLOBALS['LEVEL_ID'][1])) {
$level_id = $GLOBALS['LEVEL_ID'][1];
echo '<div class="nlu_navi1">'.LF;
echo '{NAV_LIST_UL:F,'.$level_id.',,act_path,active}';
echo '</div>';
}
[/PHP]

ergibt (bei aktiver Ebene category_02)

| home | category_01 | [category_02] | category_03 | category_04 |

  • category_02_01
  • category_02_02
  • category_02_03


oder (bei aktiven Ebenen category_02 und category_02_01)

| home | category_01 | [category_02] | category_03 | category_04 |

  • category_02_01
    • category_02_01_01
    • category_02_01_02
  • category_02_02
  • category_02_03
deutsch/navigationen/nav_list_ul-beispiele/navi-verschiedene-ebenen.txt · Last modified: 2010/05/26 13:45 by Knut Heermann (flip-flop)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0

Strict Standards: Only variables should be passed by reference in /home/www/wiki/doku.php on line 79