Как сделать пользовательский виджет CListlView в YII - PullRequest
4 голосов
/ 18 апреля 2011

Я занимаюсь разработкой своего веб-приложения на платформе Yii. Мне не хватает опыта в рамках Yii. Я хочу сделать представление для индексной страницы поста. Yii предоставляет CListView для этого, но я хочу внести некоторые изменения в это.

Ответы [ 2 ]

6 голосов
/ 29 июня 2012

Вы можете расширить виджет с помощью следующих шагов:

Скопируйте CListView.php из / (корень yii) / framework / zii / widgets в / (корень приложения) / 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 голосов
/ 18 апреля 2011

вам не нужно настраивать ClistView. просто внесите изменения в файл частичного просмотра. который вызывается ClistView.

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

?>

внести изменения в custom-view-file. убедитесь, что файл custom-view находится в той же папке представлений для контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...