Добавление элементов в mainMenu

Извините, если повторяюсь (искал, но не нашел). Как добавить элементы в mainMenu.




class MainMenu extends CWidget

{

	public $items=array();


	public function run()

	{

		$items=array();

		$controller=$this->controller;

		$action=$controller->action;

		foreach($this->items as $item)

		{

			if(isset($item['visible']) && !$item['visible'])

				continue;

			$item2=array();

			$item2['label']=$item['label'];

			if(is_array($item['url']))

				$item2['url']=$controller->createUrl($item['url'][0],array_splice($item['url'],1));

			else

				$item2['url']=$item['url'];

			$pattern=isset($item['pattern'])?$item['pattern']:$item['url'];

			$item2['active']=$this->isActive($pattern,$controller->uniqueID,$action->id);

			$items[]=$item2;

		}

		

		$this->render('mainMenu',array('items'=>$items));

	}



Вот откуда здесь в $this->items уже установлены значениями?

Вывод print_r($this->items);




Array

(

    [0] => Array

        (

            [label] => Home

            [url] => Array

                (

                    [0] => /site/index

                )

 

        )

 

    [1] => Array

        (

            [label] => Contact

            [url] => Array

                (

                    [0] => /site/contact

                )

 

        )

 

    [2] => Array

        (

            [label] => Login

            [url] => Array

                (

                    [0] => /site/login

                )

 

            [visible] => 

        )

 

    [3] => Array

        (

            [label] => Logout

            [url] => Array

                (

                    [0] => /site/logout

                )

 

            [visible] => 1

        )

 

)



Они настроены, потому что вызов виджета осуществляется из лэйаут, где указан этот параметр:




<?php

 $this->widget('application.components.MainMenu',array(

	'items'=>array(

		array('label'=>'Home', 'url'=>array('site/index')),

		array('label'=>'About', 'url'=>array('site/about')),

		array('label'=>'Contact', 'url'=>array('site/contact')),

		array('label'=>'Just a page', 'url'=>array('site/page')),

		array('label'=>'Login', 'url'=>array('site/login'), 'visible'=>Yii::app()->user->isGuest),

		array('label'=>'Logout', 'url'=>array('site/logout'), 'visible'=>!Yii::app()->user->isGuest),

		array('label'=>'Users', 'url'=>array('user/admin'), 'visible'=>Yii::app()->user->name=='admin'),

	) )); ?>



Выводится $this->items исходя из параметров виджета.

В типовой же сборке, которая идет с фреймворком есть пример кода уже готового, и как пользоваться сразу становится понятно.

Во вьювере лэйаута или отдельном вью описываете:

/protected/views/layout/main.php




					<?php $this->widget('application.components.MainMenu',array(

						'items'=>array(

								array('label'=>'О предприятии', 'url'=>array('/content/about')),

								array('label'=>'Продукты и услуги', 'url'=>array('/content/products')),

								array('label'=>'Объекты', 'url'=>array('/content/objects')),

								array('label'=>'Тендеры', 'url'=>array('/tenders/list')),

								array('label'=>'Контактная информация', 'url'=>array('/site/contact')),

						),

					)); ?>



где array(‘items’) - это и есть соот-ие пункты меню

Спасибо большое. Помогли.

Проблема с редактированием элементов меню.

В примере в /protected/views/layout/main.php

вношу изменения в

<?php $this->widget(‘zii.widgets.CMenu’,array(

		'items'=&gt;array(


			array('label'=&gt;'Home', 'url'=&gt;array('/site/index')),


			array('label'=&gt;'About', 'url'=&gt;array('/site/page', 'view'=&gt;'about')),


			array('label'=&gt;'Contact', 'url'=&gt;array('/site/contact')),


			array('label'=&gt;'Login', 'url'=&gt;array('/site/login'), 'visible'=&gt;Yii::app()-&gt;user-&gt;isGuest),


			array('label'=&gt;'Logout ('.Yii::app()-&gt;user-&gt;name.')', 'url'=&gt;array('/site/logout'), 'visible'=&gt;&#33;Yii::app()-&gt;user-&gt;isGuest),


		),


	)); ?&gt;

меняю ‘Home’ на ‘Домашняя’ и ‘About’ на ‘О нас’ и эти элементы меню не выводятся (подписи к ним), а ссылки на них остаются. С чем это может быть связано?

Попробуй в config/main.php добавить

    'sourceLanguage' =&gt; 'en_US',


    'language'       =&gt; 'ru_RU',


    'charset'        =&gt; 'UTF-8',