如何在Yii中创建自定义的CListlView小部件

4

我正在使用Yii框架开发我的Web应用程序。由于缺乏足够的Yii框架经验,我想为索引文章页面创建视图。Yii提供了CListView来实现这一点,但我希望对其进行一些自定义。


2
你想要进行什么样的定制? - Neil McGuigan
嗨@binesh, 如果您能澄清您正在寻找的自定义类型,那将非常有帮助 :) - Soph
2个回答

6
你可以按照以下步骤扩展小部件:
从 /(yii 根目录)/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 中删除该属性或方法。


3
你不需要自定义ClistView。只需在被ClistView调用的局部视图文件中进行简单的更改即可。请注意,不要删除HTML标记。
<?php
$this->widget('zii.widgets.ClistView',arrray(
      'dataprovider'=>$your-data-provider,
      'view-file'=>'custom-view-file'
));

在自定义视图文件中进行更改。 确保自定义视图文件与控制器的视图文件夹位于同一目录下。


那么关于头部呢? - Gogol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接