veryNice.css

Code: Select all
<?php
// **************************************************************************
// 25.07.07 horizontal drop-down with ID output -> NAVI HORIZONTAL DROP-DOWN
// Oliver Georgi
// http://www.phpwcms.de/forum/viewtopic.php?p=89743#89743
// 08.08.07 KH (flip-flop) Enhanced: Start[ID] {NAV_HORIZ_DD:ID}
// **************************************************************************
if( ! ( strpos($content["all"],'{NAV_HORIZ_DD')==false ) ) {
$content["all"] = str_replace('{NAV_HORIZ_DD}','{NAV_HORIZ_DD:0}',$content["all"]);
$content["all"] = preg_replace('/\{NAV_HORIZ_DD:(.*?)\}/e','buildNavi("$1");', $content["all"]);
}
//$content['all'] = str_replace('{NAVI}', buildNavi(), $content['all']);
function buildNavi($start=0, $counter=0) {
$t = array();
$struct = getStructureChildData($start);
if($counter == 0) {
$last = count($struct) - 1;
} else {
$last = 0;
}
$x = 0;
foreach($struct as $value) {
//if( isset($GLOBALS['LEVEL_KEY'][ $value['acat_id'] ]) ) {
/* $p1 = ' path';
} else {
$s = '';
$p1 = '';
}
if($GLOBALS['content']['cat_id'] == $value['acat_id']) {
$a1 = ' active';
$a3 = 'active';
} else {
$a1 = $p1;
$a3 = '';
}
*/
$s = buildNavi($value['acat_id'], $counter+1);
if($s) {
$g = '<!--[if IE 7]><!--></a><!--<![endif]-->';
$g .= $s;
$g .= LF . str_repeat(' ', $counter);
$class = $counter ? ' class="fly"' : ' class="drop"';
$close_li = str_repeat(' ', $counter+1);
} else {
$g = '</a>';
$class = '';
$close_li = '';
}
if( $last && $last == $x ) {
$enclose = ' class="enclose"';
} elseif( $x || ($counter == 0 && $x == 0) ) {
$enclose = '';
} else {
$enclose = ' class="enclose"';
}
$l = str_repeat(' ', $counter+1) . '<li'. $class . ' id="cat-id_' . $value['acat_id'] . '">';
$l .= get_level_ahref($value['acat_id'], $enclose) . html_specialchars($value['acat_name']);
$l .= $g;
$l .= $close_li . '</li>';
$t[] = $l;
$x++;
}
if($counter) {
$A = LF . str_repeat(' ', $counter) . '<!--[if lte IE 6]><table><tr><td><![endif]-->';
$B = LF . str_repeat(' ', $counter) . '<!--[if lte IE 6]></td></tr></table></a><![endif]-->';
} else {
$A = '';
$B = '';
}
$t = implode(LF, $t);
if($t) {
$t = $A . LF . str_repeat(' ', $counter) . '<ul'.($counter?'':' id="pmenu"').'>' . LF . $t . LF . str_repeat(' ', $counter) . '</ul>'. $B ;
}
return $t;
}
?>
Code: Select all
/* Adopt width of first level links */
/*
#pmenu #cat-id_1 a,
#pmenu #cat-id_1 a:visited {
width: 55px;
}
#pmenu #cat-id_2 a,
#pmenu #cat-id_2 a:visited {
width: 160px;
}
#pmenu #cat-id_3 a,
#pmenu #cat-id_3 a:visited {
width: 62px;
}
#pmenu #cat-id_12 a,
#pmenu #cat-id_12 a:visited {
width: 82px;
}
#pmenu #cat-id_18 a,
#pmenu #cat-id_18 a:visited {
width: 62px;
}
#pmenu #cat-id_21 a,
#pmenu #cat-id_21 a:visited {
width: 62px;
}
*/
/*
#pmenu #cat-id_1 a,
#pmenu #cat-id_1 a:visited,
#pmenu #cat-id_2 a,
#pmenu #cat-id_2 a:visited,
#pmenu #cat-id_3 a,
#pmenu #cat-id_3 a:visited,
#pmenu #cat-id_12 a,
#pmenu #cat-id_12 a:visited,
#pmenu #cat-id_18 a,
#pmenu #cat-id_18 a:visited,
#pmenu #cat-id_21 a,
#pmenu #cat-id_21 a:visited {
padding: 1px 5px 1px 5px;
}
*/
Code: Select all
menu1 menu2 menu3
sub1_1 sub2_1 sub3_1
sub1_2 sub2_2 sub3_2
sub1_3 sub2_3 sub3_3
An other solution is the parent switch: {NAV_LIST_UL:FP,ID,,act_path,active}<ul class="act_path">
<li class="sub_no"><a href="index.php?home">Home</a></li>
<li class="sub_no sub_ul_true"><a href="index.php?ebene01">Ebene01</a></li>
<li class="sub_ul act_path"><a href="index.php?ebene02">Ebene02</a>
<ul class="act_path">
<li class="sub_no sub_ul_true"><a href="index.php?ebene02_01">Ebene02_01</a></li>
<li class="sub_ul act_path"><a href="index.php?ebene02_02">Ebene02_02</a>
<ul class="act_path">
......
Knut<li class="sub_parent act_path"><a href="index.php?index">Home</a></li>
<li class="sub_no"><a href="index.php?first">First</a></li>
......
Code: Select all
<div id="nb_linie">
<ul class="act_path">
<li class="sub_parent act_path"><a href="index.php?forside">Forside</a></li>
<li class="sub_no sub_ul_true"><a href="#">Grupperejser</a></li>
<li class="sub_no sub_ul_true"><a href="#">Kør selv</a></li>
<li class="sub_ul act_path"><a href="index.php?specielle-rejser">Specielle rejser</a>
<ul class="act_path">
<li class="sub_no act_path active"><a href="index.php?firmarejser">Firmarejser</a></li>
<li class="sub_no"><a href="index.php?landbrugsrejser">Landbrugsrejser</a></li>
<li class="sub_no"><a href="index.php?skole-og-studierejser">Skole- og studierejser</a></li>
<li class="sub_no"><a href="index.php?kulturrejser">Kulturrejser</a></li>
<li class="sub_no"><a href="index.php?korrejser">Korrejser</a></li>
<li class="sub_no"><a href="index.php?riderejser">Riderejser</a></li>
</ul>
</li>
<li class="sub_no sub_ul_true"><a href="#">Om Island</a></li>
</ul>
</div>
Code: Select all
<li class="sub_ul act_path"><a href="index.php?specielle-rejser">Specielle rejser</a>
Code: Select all
<li class="sub_no act_path active"><a href="index.php?firmarejser">Firmarejser</a></li>
Next level:/* ==== Aktiver Pfad - Linkverfolgung im Baum // active path in tree (link tracing) ==== */
.nlu_navi1 ul li.act_path a,
.nlu_navi1 ul li.act_path a:link,
.nlu_navi1 ul li.act_path a:visited,
.nlu_navi1 ul li.act_path a:active {
color: White;
font-weight: bold;
background: #63819F url(../../img/article/navi1_act.gif) 10px 1px no-repeat;
}
Next level:/* state for the active path (link tracing) */
.nlu_navi1 ul ul li.act_path a,
.nlu_navi1 ul ul li.act_path a:link,
.nlu_navi1 ul ul li.act_path a:visited,
.nlu_navi1 ul ul li.act_path a:active {
color: White;
font-weight: bold;
background: #6D8EAF url(../../img/article/navi1_act.gif) 25px 1px no-repeat;
}
Code: Select all
<li class="sub_parent act_path"><a href="index.php?forside">Forside</a></li>
... and is always sub_parent.Index is always "act_path". Can I avoid this?
Code: Select all
+ root (alias = index)
++ Home (alias = home)
++ Category_01 (alias = cat_01)
++ Category_02 (alias = cat_02)
++ Category_03 (alias = cat_02)
++ ........... (alias = cat_..)
For me it works.If you want to do something to the REAL active path like changing the background color you cant use "sub_parent".
Changing "sub_parent" at the end of a css file would ruin everything if "sub_parent" is current.
My question now is:[PHP]
if(isset($GLOBALS['LEVEL_ID'][1])) {
$level_id = $GLOBALS['LEVEL_ID'][1];
echo '<div id="nlu_navi1">';
echo '{NAV_LIST_UL:F,'.$level_id.',,active_path,active_element,,}';
echo '</div>';
}
[/PHP]
And in some cases i don't want these lines!<div id="nlu_navi1"></div>