Множно ли сделать так, чтобы на страницах одной категории были кнопки предыдущая/следующая?
0
Навигация предыдущая/следующая
Автор
Migalov
, 07.03.2010, 23:19
Сообщений в теме: 4
#1
Отправлено 07.03.2010, 23:19
#2
Отправлено 09.03.2010, 09:38
Данных функциий в дистрибутиве нет. но их можно создать.
За основу можно взять следующий код (прописывать в шаблоне или page.php):
За основу можно взять следующий код (прописывать в шаблоне или page.php):
<?php $siblings = z_page()->getPageInfo()->getParent()->fetchChildren(); $pos = 0; foreach ($siblings as $sib) { if ($sib->uri == z_page()->getPagepath()) { break; } ++$pos; } $prev = isset($siblings[$pos-1]) ? $siblings[$pos-1] : null; $next = isset($siblings[$pos+1]) ? $siblings[$pos+1] : null; if ($prev) { echo 'Prev: <a href="' . $prev->link . '">' . $prev->name . '</a><br />'; } if ($next) { echo 'Next: <a href="' . $next->link . '">' . $next->name . '</a><br />'; } ?>
#3
Отправлено 09.03.2010, 14:36
support (09.03.2010, 09:38) писал:
Данных функциий в дистрибутиве нет. но их можно создать.
За основу можно взять следующий код (прописывать в шаблоне или page.php):
За основу можно взять следующий код (прописывать в шаблоне или page.php):
<?php $siblings = z_page()->getPageInfo()->getParent()->fetchChildren(); $pos = 0; foreach ($siblings as $sib) { if ($sib->uri == z_page()->getPagepath()) { break; } ++$pos; } $prev = isset($siblings[$pos-1]) ? $siblings[$pos-1] : null; $next = isset($siblings[$pos+1]) ? $siblings[$pos+1] : null; if ($prev) { echo 'Prev: <a href="' . $prev->link . '">' . $prev->name . '</a><br />'; } if ($next) { echo 'Next: <a href="' . $next->link . '">' . $next->name . '</a><br />'; } ?>
Да, работает. Хорошо. Вставил код в pade.php в конец и ссылки появились, но кроме как на страницах со свойством
@@module=zmodule_listpages ссылки prev/next.
В связи с этим еще один вопрос, в какое место файла page.php надо засунуть код, чтобы на страницах со свойством
@@module=zmodule_listpages ссылки prev/next выводились тоже? Все-таки хочется, чтобы навигация сраниц одного уровня не прерывалась на страницах наподобии Новости.
#4
Отправлено 09.03.2010, 16:54
Либо вынести код в template.php, либо дополнительно добавить в listpages.php.
#5
Отправлено 11.04.2010, 23:22
support (09.03.2010, 09:38) писал:
Данных функциий в дистрибутиве нет. но их можно создать.
За основу можно взять следующий код (прописывать в шаблоне или page.php):
За основу можно взять следующий код (прописывать в шаблоне или page.php):
<?php $siblings = z_page()->getPageInfo()->getParent()->fetchChildren(); $pos = 0; foreach ($siblings as $sib) { if ($sib->uri == z_page()->getPagepath()) { break; } ++$pos; } $prev = isset($siblings[$pos-1]) ? $siblings[$pos-1] : null; $next = isset($siblings[$pos+1]) ? $siblings[$pos+1] : null; if ($prev) { echo 'Prev: <a href="' . $prev->link . '">' . $prev->name . '</a><br />'; } if ($next) { echo 'Next: <a href="' . $next->link . '">' . $next->name . '</a><br />'; } ?>
А как сделать навигацию пред/след для автоматически разбитых страниц чтоб было примерно так: <prev 1 2 3 4...50 next> или просто <prev | next>?
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых пользователей