Очень мне понравилось листание страниц на дирти.ру,
вытянул я у них js и css и доработал под друпал,
а доработка заключалась в том, что страницы у друпала нумеруются с нуля,
а также имел место быть конфликт с js-библиотеками друпала, подчистил, поковырял теперь все работает
здесь можно глянуть результат www.livekuban.ru
в зипе приложены файлы:
- paginator.js
- paginator.css
- 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 .= "
$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) вставляем:
<script type="text/javascript" src="/misc/paginator.js"></script>
вот и все, осталось упомянуть о создателях пагинатора, честь им и хвала:
- idea by ecto (fhn.ru)
- coded by karaboz (futurico.ru)
Вложение | Размер |
---|---|
paginator.zip | 3.17 КБ |
Комментарии
Спасибо! Интересный вариант скролера. При отключенном JS показывает приемлемый вариант, что тоже важно.
А все таки для цепляния своих CSS и JS лучше использовать
<?php
drupal_add_css('my.css');
drupal_add_js('my.js');
?>
препроцессинг можно будет использовать.
да, да, вы правы, забыл об этом, так разумеется будет лучше
Спасибо! Под шестой друпал код не отличается, разве что я использовал Paginator 3000 с karaboz.ru. Его бы еще под jquery переписать, цены бы не было