pager

Главные вкладки

Аватар пользователя Barcelona Barcelona 21 ноября 2008 в 0:38

Подскажите, пожалуйста...
Сделал grid-вьюшку с листалкой страниц (pager), но вывод стандартного pager'a не устраивает...

  1. Нужно заменить ссылки на следующую и предыдущую страницы на картинки(стрелки)
  2. Нужно вставить рядом с пейджером ссылку на страницу на который будет выведено содержание всех страниц (View All).
  3. Продублировать pager над вьюшкой

Что-то подобное на картинке...

Как реализовать?

ВложениеРазмер
Иконка изображения Pager.jpg21.78 КБ

Комментарии

Аватар пользователя pavelpg pavelpg 21 ноября 2008 в 4:33

создайте ф-цию с именем имятемы_pager или phptemplate_pager в определении вашей темы и переопределите вывод пейджера

без переопределения выводиться вот что:

function theme_pager($tags = array(), $limit = 10, $element = 0, $parameters = array()) {
global $pager_total;
$output = '';
if ($pager_total[$element] > 1) {
$output .= '

';
$output .= theme('pager_first', ($tags[0] ? $tags[0] : t('В« first')), $limit, $element, $parameters);
$output .= theme('pager_previous', ($tags[1] ? $tags[1] : t('‹ previous')), $limit, $element, 1, $parameters);
$output .= theme('pager_list', $limit, $element, ($tags[2] ? $tags[2] : 9 ), '', $parameters);
$output .= theme('pager_next', ($tags[3] ? $tags[3] : t('next ›')), $limit, $element, 1, $parameters);
$output .= theme('pager_last', ($tags[4] ? $tags[4] : t('last В»')), $limit, $element, $parameters);
$output .= '

';

return $output;
}
}

естественно что theme('pager_last') можно не вызывать в вашем пейджере
дублирование пейджера можно сделать переопределяя имятемы_views_view_имявьюшки вызывая theme('pager'... в верху и внизу вызова - найдите определение theme_views_view...
view_all тут посложнее я вижу решение только в создании другой вьюшки с неограниченным количеством элементов на странице.