Листание страниц нодов аля Дирти.ру

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

Аватар пользователя selff selff 26 ноября 2007 в 11:41

Очень мне понравилось листание страниц на дирти.ру,
вытянул я у них js и css и доработал под друпал,
а доработка заключалась в том, что страницы у друпала нумеруются с нуля,
а также имел место быть конфликт с js-библиотеками друпала, подчистил, поковырял теперь все работает
здесь можно глянуть результат www.livekuban.ru Smile
в зипе приложены файлы:

  1. paginator.js
  2. paginator.css
  3. slider.gif

которые я закинул в /misc
Кроме того вносим следующие изменения в template.php :
<?php
// переопределение вывода постраничного листания
function MyThemeName_pager($tags = array(), $limit = 10, $element = 0, $parameters = array()) {
global $pager_total;
$output = '';
if ($pager_total[$element] > 1) {
$output .= "

\n";
$output .= '
';
// начало старого кода - это на случай того, что js у клиента будет выключен
$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 .= '

';
$output .= "

\n";
$output .= "\n";
// число 10 в передаваемых параметрах - количество видимых ссылок-страниц
$output .= "pag = new Paginator('paginator', ".$pager_total[0].",10, ".(($_GET['page']?$_GET['page']:0)+1).", '');\n";
$output .= "\n";
return $output;
}
}
?>
Ну и осталось обеспечить подгрузку наших js и css, для этого в файле page.tpl.php после подгрузки всех скриптов (print $scripts) вставляем:

  <style type="text/css" media="all">[user=import]import[/user] "/misc/paginator.css";</style>
  <script type="text/javascript" src="/misc/paginator.js"></script>

вот и все, осталось упомянуть о создателях пагинатора, честь им и хвала:

  • idea by ecto (fhn.ru)
  • coded by karaboz (futurico.ru)
ВложениеРазмер
Иконка пакета paginator.zip3.17 КБ

Комментарии

Аватар пользователя seaji seaji 26 ноября 2007 в 18:29

А все таки для цепляния своих CSS и JS лучше использовать
<?php
drupal_add_css('my.css');
drupal_add_js('my.js');
?>

препроцессинг можно будет использовать.

Аватар пользователя Mr.Alinaki@drupal.org Mr.Alinaki@drup... 16 мая 2009 в 21:24

Спасибо! Под шестой друпал код не отличается, разве что я использовал Paginator 3000 с karaboz.ru. Его бы еще под jquery переписать, цены бы не было Smile