Hello, this article will describe some aspects about caching controllers with filters() method in your controller. And I will describe some problems I meet when using this approach for caching, the main problem was
The CGridView widget is very useful and customizable, but sometimes you need a little more.
One limit I found is to have only one row for headers; yes, you can write each column header in more than one row, but just inside the single cell.
I was looking instead for the possibility to use more than one row, with different structure one from the others.
This way you can write columns grouping headers, and obtain a nicer view.
I recently had to have a checkbox column in my grid view that supported the 'disabled' attribute. This was easy enough to do by extending the CCheckBoxColumn. However, I also wanted the checkbox to be selected when clicking on the table's row (supported via CGridView's selectableRows option). I discovered I had to tweak yiigridview.js so that it would not select disabled rows when clicking on it or on the 'select all' checkbox.
Backoffice Grid Views often list information like Posts for a blog while showing at the same time linked information like the User who wrote that post.
For more efficiency, it is appropriate that the User is displayed as a link to the User detail page.
When using CListView to display multiple views next to each other, we can use the $index variable inside the viewFile to achieve this. As far as i know there is no extension or out-of-the-box functionality for this, so we need to apply a little hack:
As you know, the CDetailView widget displays details of a single model. If no formatting is specified, boolean values that are stored in the database as 0 and 1, are represented in the detail view as 0 and 1. If formatted as boolean, they are represented as 'No' and 'Yes'. We want to add i18n support, so that Yes and No appear in the current language.