Tuesday, July 3, 2012

Configuring widget defaults in YII

In Yii, code pieces commonly used in views are placed into widgets. For example, a widget can
render a tag cloud or provide a custom form input type. Core widgets are highly configurable
and are used in views as follows:
<?$this->widget('CLinkPager', array(
'pages' => $pages,
'pageSize' => 15,
))?>
In the preceding code, we are using $this->widget that calls a CLinkPager widget with
an array of parameters to display a pagination. pages and pageSize are both assigned to
the corresponding public properties of CLinkPager before it is being rendered.
Note that we have changed the count of items per page to 15 in our example. If we want our
pagination to display 15 items per page on all pages of our application, then we will need to
provide a pageSize parameter with value 15 for all CLinkPager widget calls. Is there a
better way? Definitely, yes.

No comments:

Post a Comment