3

私は Yii フレームワークに不慣れで、ウィジェットのプロパティにアクセスしようとしています。たとえば CMenu としましょう。ここで、activeCssClass、firstItemCssClass、lastItemCssClass、htmlOptions などのいくつかのパブリック プロパティの値を変更したいと考えています。 Yii でウィジェットのプロパティを変更します。

詳細: Yii バージョン 1.1.12 (2012 年 8 月 19 日) を使用しており、マルチレベル メニューを生成しようとしていますが、いくつかのパブリック クラス パラメータの値を変更する必要があり、方法がわかりません。

4

2 に答える 2

2

通常、ウィジェットを呼び出すときに必要な値を適用します。ウィジェット クラス名の後に、ウィジェット呼び出し内の適切な配列でそれらを設定します。

$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();
于 2012-09-25T01:06:13.190 に答える
0

前の回答に加えて、見逃した場合は、これに関する短くて簡単な公式ドキュメントを確認することを忘れないでください。

于 2012-09-25T05:48:50.550 に答える