166 if (isset($this->cls))
170 $route=$this->getController()->getRoute();
171 $this->items=$this->
normalizeItems($this->items,$route,$hasActiveChild);
191 echo CHtml::openTag(
'ul',$this->htmlOptions).
"\n";
193 echo CHtml::closeTag(
'ul');
208 $options=isset($item[
'itemOptions']) ? $item[
'itemOptions'] : array();
210 if($item[
'active'] && $this->activeCssClass!=
'')
212 if($count===1 && $this->firstItemCssClass!=
'')
214 if($count===$n && $this->lastItemCssClass!=
'')
218 if(empty($options[
'class']))
219 $options[
'class']=implode(
' ',$class);
221 $options[
'class'].=
' '.implode(
' ',$class);
224 echo CHtml::openTag(
'li', $options);
227 if(isset($this->itemTemplate) || isset($item[
'template']))
230 echo strtr($template,array(
'{menu}'=>$menu));
235 if(isset($item[
'items']) && count($item[
'items']))
237 echo
"\n".CHtml::openTag(
'ul',isset($item[
'submenuOptions']) ? $item[
'submenuOptions'] : $this->submenuHtmlOptions).
"\n";
239 echo CHtml::closeTag(
'ul').
"\n";
242 echo CHtml::closeTag(
'li').
"\n";
255 if(isset($item[
'url']))
260 $label=$this->prelinklabel.$item[
'label'].$this->postlinklabel;
263 $item[
'linkOptions']=array(
'class' =>
'active');
266 return CHtml::link($label,$item[
'url'],isset($item[
'linkOptions']) ? $item[
'linkOptions'] : array());
269 return CHtml::tag(
'span',isset($item[
'linkOptions']) ? $item[
'linkOptions'] : array(), $item[
'label']);
283 if(isset($item[
'visible']) && !$item[
'visible'])
288 if(!isset($item[
'label']))
290 if($this->encodeLabel)
291 $items[
$i][
'label']=CHtml::encode($item[
'label']);
292 $hasActiveChild=
false;
293 if(isset($item[
'items']))
296 if(empty(
$items[
$i][
'items']) && $this->hideEmptyItems)
297 unset(
$items[$i][
'items']);
299 if(!isset($item[
'active']))
301 if($this->activateParents && $hasActiveChild || $this->activateItems && $this->
isItemActive($item,$route))
306 else if($item[
'active'])
309 return array_values(
$items);
322 if(isset($item[
'url']) && is_array($item[
'url']) && !strcasecmp(trim($item[
'url'][0],
'/'),$route))
324 if(count($item[
'url'])>1)
326 foreach(array_splice($item[
'url'],1) as
$name=>$value)
328 if(!isset($_GET[
$name]) || $_GET[$name]!=$value)