diff options
Diffstat (limited to 'protected/modules/cms/components/MenuWidget.php')
| -rw-r--r-- | protected/modules/cms/components/MenuWidget.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/protected/modules/cms/components/MenuWidget.php b/protected/modules/cms/components/MenuWidget.php new file mode 100644 index 0000000..d17f356 --- /dev/null +++ b/protected/modules/cms/components/MenuWidget.php @@ -0,0 +1,36 @@ +<?php +Yii::import('application.modules.cms.models.Sitecontent'); + +class MenuWidget extends CWidget +{ + public $point; + protected $menu; + + public function init() + { + if($this->point == 0) + throw new CException("Please provide a menu to render"); + + parent::init(); + $this->menu = Sitecontent::model()->findAll(array( + 'condition' => 'parent = :point', + 'params' => array(':point' => $this->point), + 'order' => 'position', + ) + ); + + $items = array(); + if($this->menu) + foreach($this->menu as $point) { + $items[] = array('label' => $point->title, + 'active' => stripos(Yii::app()->request->url, $point->title_url) !== false, + 'url' => array('/site/view', 'page' => $point->title_url)); + } + + $this->widget('zii.widgets.CMenu',array( + 'items'=>$items + )); + } + +} +?> |
