ShootNik
(Nik Kl)
January 18, 2011, 1:12pm
1
Есть несколько разделов на сайте, схожих по структуре, в urlManager можно было бы написать одно правило для всех:
'<controller:\w+>/<category_id:\d+>-<category_url:[\w-]+>'=>array('<controller>/view')
если бы не разбиение на страницы - у каждого контроллера получаются свои названия для переменной, обозначающей номер страницы, получается так:
'content/<category_id:\d+>-<category_url:[\w-]+>/page<Content_page:\d+>'=>array('content/category'),
'articles/<category_id:\d+>-<category_url:[\w-]+>/page<Articles_page:\d+>'=>array('articles/category'),
Собственно вопрос: где поменять имя этих переменных Content_page, Articles_page на единое, например Page, что бы не путаться в куче правил, заменить одним
'<controller:\w+>/<category_id:\d+>-<category_url:[\w-]+>/page<Page:\d+>'=>array('<controller>/category'),
duburlan
(Duburlan+Yii)
January 19, 2011, 7:49pm
2
я сделал у себя вот так
<?php
$this->breadcrumbs = array(
'Users',
);
$this->menu = array(
array( 'label' => 'Create User', 'url' => array( 'create' ) ),
array( 'label' => 'Manage User', 'url' => array( 'admin' ) ),
);
$dataProvider->pagination = array(
'pageSize' => 2,
'pageVar' => 'page' // вот этот параметр который вам нужен
);
?>
<h1>Users</h1>
<?php
$this->widget( 'zii.widgets.CListView', array(
'dataProvider' => $dataProvider,
'itemView' => '_view',
'pager' => array(
'class' => 'CLinkPager',
'firstPageLabel' => 'первая',
'prevPageLabel' => 'предыдущая',
'nextPageLabel' => 'следующая',
'lastPageLabel' => 'последняя',
'maxButtonCount' => '5',
'header' => false,
),
'ajaxUpdate' => false,
'summaryText' => '<div class="show_report">найдено <b>{count}</b> пользователя. отображены на странице с {start} по {end}</div>',
'template' => "{summary}{pager}{items}{pager}",
) ); ?>
ShootNik
(Nik Kl)
January 20, 2011, 8:15am
3
Как все просто когда знаешь где искать! Спасибо за помощь, я час рылся в исходниках и class reference, так и не получилось, в виджете пытался в массив ‘pager’ эту переменную ткнуть, есессно не заработало.