zoukankan      html  css  js  c++  java
  • Yii 之widget

    默认情况下, widget 的视图文件位于包含了widget文件的 views 子目录之下。这些视图可以通过调用 CWidget::render()渲染,这一点和控制器很相似。唯一不同的是,widget的视图没有布局文件支持。 
    同时,view 文件中的 $this 指的是widget 实例而不是 controller 实例。

    一.创建Widget

    class testWidget extends CWidget  

    {      

        public function init()  

        {  

            //当视图中执行$this->beginWidget()时候会执行这个方法  

            //可以在这里进行查询数据操作  

        }  

        public function run()  

        {  

            //当视图中执行$this->endWidget()的时候会执行这个方法  

            //可以在这里进行渲染试图的操作,注意这里提到的视图是widget的视图   

        //注意widget的视图是放在跟widget同级的views目录下面,例如下面的视图会放置在         

        //  /protected/widget/test/views/test.php 

            $this->render('test', array(  

                'str'=>'WIDGET视图变量',  

            ));  

        }  

    }  

    二.Widget的视图文件

    views视图test.php 引用此变量数据

    ...

    <?php echo $str;?>

    ....

    三.在controll中的views视图中 调用Widget

    如果你在/protected/widget/test/下建立了一个名为“testWidget.php”的widget。

    在视图中调用需要这样写:

    A.

    <?php $this->widget('WidgetName'); ?>  

    B.

    <?php $this->beginWidget('application.widget.test.testWidget'); ?>
    ...可能小部件需要用到这里主体内容...
    <?php $this->endWidget(); ?>

    C.

    <?php $userId = 1; ?>  

    <?php $this->widget('WidgetName',array('userId'=>$userId)); ?> 

    参数userId自动映射到Widget类的同名属性,所以在定义Widget时,别忘记了声明该属性。

  • 相关阅读:
    用javascript获取屏幕高度和宽度等信息
    Delphi程序启动参数的读取
    在CSS中使用javascript运算表达式
    How to check an Internet connection
    CheckMenuItem Function in Delphi
    在delphi中添加一个菜单项到Windows的系统菜单
    Delphi中直接将DataSet中的数据写入Excel文件
    带有TClientDataSet的delphi应用程序在发布时应注意的问题
    Delphi下一个封装较为完整的DBGrid>Excel类
    how to advertent to connect to internet?
  • 原文地址:https://www.cnblogs.com/jshen/p/3893805.html
Copyright © 2011-2022 走看看