【问题标题】:How do I access the property of a widget如何访问小部件的属性
【发布时间】:2012-09-24 22:57:44
【问题描述】:
我是 Yii 框架的新手,我正在尝试访问小部件的属性,比如说 CMenu,我想在其中更改一些公共属性的值,例如 activeCssClass、firstItemCssClass、lastItemCssClass、htmlOptions 等。在 Yii 中如何更改小部件的属性。
详情:
我正在使用 Yii 版本 1.1.12(2012 年 8 月 19 日),我正在尝试生成一个多级菜单,但我需要更改一些公共类参数的值,我不知道如何?
【问题讨论】:
标签:
php
yii
properties
widget
【解决方案1】:
好吧,通常您在调用小部件时应用所需的值。您将它们设置在小部件类名称之后的小部件调用内的适当数组中。
$this->widget('zii.widgets.CMenu',
array(
'items' => $items,
'id' => 'main_menu',
'htmlOptions' => array('class' => 'nav'),
'activeCssClass' => 'active',
'firstItemCssClass' => 'first_item'
)
);
但是!如果您想在创建一些小部件后应用这些值,但还没有渲染它(非常罕见的情况),您可以这样做:
$widget = $this->beginWidget('application.components.MyOwnWidget');
$widget->public_property = 'aaa';
$widget->renderSomething();
$this->endWidget();