Semen_ssr
На закладке home у стрима это все
Пагинация
#PAGING_…# - тэг служит для создания блока навигации (далее пагинация) по страницам (выглядит примерно так - << … 15 16 17 18 19 … >>).
Тэг достаточно гибкий, для того чтобы вывести пагинатор практически любой сложности, это плюс. Минус - прийдется немного поднапрячь серое вещество )
Напомню, что вывод страниц в стриме осуществляется с помощью параметра p=.
domain.com/index.php?p=1 - первая страница
domain.com/index.php?p=2 - вторая
и т.д.
Один тэг #PAGING_…# выводит одну ссылку на страницу. Поэтому для того чтобы в блоке пагинации были ссылки на предыдущую, последующую, первую, последнюю и т.д. нужно использовать несколько тэгов.
Примеры.
1. ссылка на первую страницу - #PAGING_FIRST_....#
.... - тут мы прописываем, как будет выглядеть html ссылки. Например, #PAGING_FIRST_<a href=index.php?p={PAGE}>first-page</a>#
{PAGE} - при формировании морды стрим поменяет это на номер страницы, которую обрабатывает сейчас тэг #PAGING_....# в нашем случае это будет 1.
Для ссылки на вторую страницу, используем #PAGING_FIRST+1_....#. Для третьей - #PAGING_FIRST+2_....# и т.д.
#PAGING_FIRST_....# при выводе первой страницы тэг игнорируется и не выводит ничего.
2. ссылка на последнюю страницу - #PAGING_LAST_....#
Например, #PAGING_LAST_<a href=index.php?p={PAGE}>last-page</a>#
Стрим подсчитает количество страниц, для которых будет контент, и поменяет {PAGE} на это число.
Для вывода ссылки на предпоследнюю страницу, используем #PAGING_LAST-1_....#. Для пред-пред-последней - #PAGING_LAST-2_....# и т.д.
#PAGING_LAST_....# не выводит ничего, если мы запрашиваем последнюю страницу.
3. ссылка на предыдущую и последующие страницы - #PAGING_CUR_....#
для предыдущей страницы - #PAGING_CUR-1_....#
для следующей #PAGING_CUR+1_....#
для текущей - #PAGING_CUR_....#
4. Теперь пример целого блока.
Задача следующая - нужно иметь ссылку на первую страницу, последнюю, а также на ближайшие 2 предыдущие и последующие страницы. Чтобы результат при запросе 10-ой страницы выглядел так:
first-page previous-page 9 10 11 12 13 next-page last-page
Наш блок пагинации:
Код:
<!-- ссылка на первую страницу -->
#PAGING_FIRST_<a href=index.php?p={PAGE}>first-page</a>#
<!-- ссылка на предыдущую страницу -->
#PAGING_CUR-1_ <a href=index.php?p={PAGE}>previous-page</a>#
<!-- ссылки на NNN-2, NNN-1, NNN, NNN+1, NNN+2 страницы -->
<!-- ссылки на текущую страницу нет, так как мы и так на ней находимся-->
#PAGING_CUR-2_ <a href=index.php?p={PAGE}>{PAGE}</a>#
#PAGING_CUR-1_ <a href=index.php?p={PAGE}>{PAGE}</a>#
#PAGING_CUR_ {PAGE}#
#PAGING_CUR+1_ <a href=index.php?p={PAGE}>{PAGE}</a>#
#PAGING_CUR+2_ <a href=index.php?p={PAGE}>{PAGE}</a>#
<!-- ссылка на следующую страницу -->
#PAGING_CUR+1_ <a href=index.php?p={PAGE}>next-page</a>#
<!-- ссылка на последнюю страницу -->
#PAGING_LAST_ <a href=index.php?p={PAGE}>last-page</a>#
5. Как сделать пагинацию на странице с результатами поиска (index.php?search=keyword)
С помощью {SEARCH}.
Пример - #PAGING_FIRST_<a href=index.php?p={PAGE}&search={SEARCH}>first-page</a>#
6. Пагинация на странице, которая выводит гали по тэгу (index.php?tag=sometag).
С помощью {TAG}.
Пример - #PAGING_LAST_<a href=index.php?p={PAGE}&tag={TAG}>last-page</a>#
7. Пагинация на странице, которая выводит гали определенного ротатора (index.php?sub=rotator).
С помощью {SUB}.
Пример - #PAGING_LAST_<a href=index.php?p={PAGE}&sub={SUB}>last-page</a>#
8. Пагинация на странице, которая выводит гали определенного платника (index.php?site=....).
С помощью {SITE}.
Пример - #PAGING_LAST_<a href=index.php?p={PAGE}&site={SITE}>last-page</a>#
Подытожим.
Варианты #PAGING_....#:
#PAGING_FIRST_....# - первая страница
#PAGING_CUR_....# - текущая страница
#PAGING_LAST_....# - последняя страница
c FIRST, CUR, LAST можно использовать "+" или "-". Например
#PAGING_FIRST+1_....# - вторая страница
#PAGING_CUR-1_....# - предыдущая страница
#PAGING_CUR+1_....# - следующая страница
#PAGING_LAST-1_....# - предпоследняя страница
вместо … подставляем html, в нем можно использовать {PAGE}, {SEARCH}, {TAG}, {SUB}, {SITE}