good morning!
I have a problem with the code…
my situation is this:
CREATE TABLE IF NOT EXISTS `tbl_content` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`varname` varchar(50) COLLATE utf8_spanish_ci NOT NULL,
`titulo` varchar(255) COLLATE utf8_spanish_ci NOT NULL,
`ruta` varchar(255) COLLATE utf8_spanish_ci NOT NULL,
`permisos` int(3) NOT NULL,
`showmenu` int(1) NOT NULL,
`padre` int(11) NOT NULL,
`content` text COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`id`)
)
ActiveMenu.php
<?php
Yii::import('zii.widgets.CMenu', true);
class ActiveMenu extends CMenu
{
public function init()
{
// Here we define query conditions.
$criteria = new CDbCriteria;
$criteria->condition = '`showmenu` = 1';
//$criteria->order = '`position` ASC';
$items = Content::model()->findAll($criteria);
foreach ($items as $item)
$this->items[] = array('label'=>$item->titulo, 'url'=>$item->ruta);
}
}
and main.php
<div id="mainmenu">
<?php
$this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/site/index')),
//define si es visible con usuario registrado
array('label'=>'Contenido privado', 'url'=>array('/site/page', 'view'=>'about'),'visible'=>!Yii::app()->user->isGuest),
array('label'=>'Contact', 'url'=>array('/site/contact')),
//array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
//array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
array('url'=>Yii::app()->getModule('user')->loginUrl, 'label'=>Yii::app()->getModule('user')->t("Login"), 'visible'=>Yii::app()->user->isGuest),
array('url'=>Yii::app()->getModule('user')->registrationUrl, 'label'=>Yii::app()->getModule('user')->t("Register"), 'visible'=>Yii::app()->user->isGuest),
array('url'=>Yii::app()->getModule('user')->profileUrl, 'label'=>Yii::app()->getModule('user')->t("Profile"), 'visible'=>!Yii::app()->user->isGuest),
array('url'=>Yii::app()->getModule('user')->logoutUrl, 'label'=>Yii::app()->getModule('user')->t("Logout").' ('.Yii::app()->user->name.')', 'visible'=>!Yii::app()->user->isGuest)
),
));
//para realizar la llamada $this->widget('application.components.ActiveMenu') sin "items" .
$this->widget('application.components.ActiveMenu');
?>
</div><!-- mainmenu -->
this gives an error:
PHP notice
Undefined index: active
/var/www/yii/framework/zii/widgets/CMenu.php(190)
178 * Recursively renders the menu items.
179 * @param array $items the menu items to be rendered recursively
180 */
181 protected function renderMenuRecursive($items)
182 {
183 $count=0;
184 $n=count($items);
185 foreach($items as $item)
186 {
187 $count++;
188 $options=isset($item['itemOptions']) ? $item['itemOptions'] : array();
189 $class=array();
190 if($item['active'] && $this->activeCssClass!='')
191 $class[]=$this->activeCssClass;
192 if($count===1 && $this->firstItemCssClass!==null)
193 $class[]=$this->firstItemCssClass;
194 if($count===$n && $this->lastItemCssClass!==null)
195 $class[]=$this->lastItemCssClass;
196 if($this->itemCssClass!==null)
197 $class[]=$this->itemCssClass;
198 if($class!==array())
199 {
200 if(empty($options['class']))
201 $options['class']=implode(' ',$class);
202 else
Stack Trace
#0
+
/var/www/yii/framework/zii/widgets/CMenu.php(172): CMenu->renderMenuRecursive(array(array("label" => "Noticiones", "url" => "/site/page"), array("label" => "Ofertones", "url" => "/site/page")))
#1
+
/var/www/yii/framework/zii/widgets/CMenu.php(159): CMenu->renderMenu(array(array("label" => "Noticiones", "url" => "/site/page"), array("label" => "Ofertones", "url" => "/site/page")))
#2
+
/var/www/yii/framework/web/CBaseController.php(174): CMenu->run()
.............
.........
.....
..
I can not see because it gives this error.
Anyone can help me?
thank you very much!!
I’m so lost
