在Yii小部件中生成HTML内容

时间:2012-10-27 15:07:37

标签: html widget yii

我正在尝试制作Yii扩展程序,以便从表格中的Feed网址存储中获取项目,然后在网页中显示它们。我对框架有点困惑,经过大量搜索,我认为最好的选择是使用小部件。我的问题是所有要显示的项目都存储在widget类的数组中。如何创建html内容以显示它们?我发现只是调用render()方法来显示自定义视图,但我没有看到从该视图访问我的数组的方法。

1 个答案:

答案 0 :(得分:1)

您需要将数据(在本例中为您的数组)传递给视图。所以,假设你正在使用一个小部件(扩展CPortlet),就像这样:

<?php
Yii::import('zii.widgets.CPortlet');
class MyWidget extends CPortlet
{
    public $my_array;

    protected function renderContent(){   
        $this->render("my_view",array(
            "my_array"  =>  $my_array
        ));
    }
}    

然后在您的视图中(my_view,它将位于您的components / views文件夹中)您可以像这样访问您的数组

$my_array[0]

调用窗口小部件时(在另一个视图中),您可以将其传递给您的数组:

$this->widget("MyWidget",array("my_array" => $my_array));

希望能回答你的问题