如何在yii中制作自定义CListlView小部件

时间:2011-04-18 08:21:10

标签: yii

我正在Yii框架中开发我的Web应用程序。我在Yii框架中没有足够的经验。我想为索引帖子页面制作视图。 Yii为此提供了CListView,但我想对其进行一些自定义。

2 个答案:

答案 0 :(得分:6)

您可以使用以下步骤扩展窗口小部件:

将/(yii root)/ framework / zii / widgets中的CListView.php复制到/(应用程序根目录)/ protected / widgets

重命名文件BineshListView.php

打开BineshListView.php。在类声明之前添加它

Yii::import("zii.widgets.CListView");

将类声明的第一行更改为:

class BineshListView extends CListView { ...

现在,您可以自定义自己的BineshListView类。要在视图中使用它,您可以像调用CListView

一样调用它
$this->widget('application.widgets.BineshListView', array( 'data'=>$model, etc... ) );

让我补充一点,BineshListView将继承CListView的所有属性和方法。因此,如果您不需要自定义属性或方法并希望使用CListView的原始行为,则可以从BineshListView中删除该属性或方法。

答案 1 :(得分:3)

您无需自定义ClistView。只需在局部视图文件中进行更改即可。这是由ClistView调用的。

<?php
$this->widget('zii.widgets.ClistView',arrray(
      'dataprovider'=>$your-data-provider,
      'view-file'=>'custom-view-file'
));

&GT;

在自定义视图文件中进行更改。 确保控制器的相同视图文件夹中的自定义视图文件。