summaryrefslogtreecommitdiff
path: root/protected/modules/cms/components/MenuWidget.php
diff options
context:
space:
mode:
Diffstat (limited to 'protected/modules/cms/components/MenuWidget.php')
-rw-r--r--protected/modules/cms/components/MenuWidget.php36
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
+ ));
+ }
+
+}
+?>