【问题标题】:Generating HTML content in a Yii widget在 Yii 小部件中生成 HTML 内容
【发布时间】:2012-10-27 15:07:37
【问题描述】:

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

【问题讨论】:

    标签: html widget yii


    【解决方案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,将在您的组件/视图文件夹中)您可以像这样访问您的数组

    $my_array[0]
    

    当调用你的小部件时(在另一个视图中),你可以像这样传递你的数组:

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

    希望能回答你的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      相关资源
      最近更新 更多