Разбивка на страницы записей и комментариев

Функция разбивки на страницы записей раздела и комментариев работают одинаково, и позволяют вам выводить ограниченный набор записей и автоматически создавать ссылки к следующему набору. Таким способом вы можете, например, вывести на первую страницу комментарии с 1 по 10, и автоматически создать ссылки на страницы, которые выводят комментарии с 11 по 20 и 21 по 30, и т.д.

Вы можете выбрать один из двух стилей ссылок навигации. Первый выглядит приблизительно так:

Page 27 of 344 pages « First < 11 12 13 14 15 > Last »

Второй, более традиционный способ, - вывод ссылок "следующая страница" / "предыдущая страница":

Previous Page | Next Page

Нумерация страниц автоматически ограничивается категорией, которую вы просматриваете в настоящее время. Так, если у вас указана категория в теге weblog entries, или вы просматриваете записи отдельной категории, то ссылки разбивки на страницы автоматически ограничат себя только записями данной категории.

Пример кода

Ниже приведено два примера базового кода, по одному для каждого из приведенных выше методов. Информация о переменных и параметрах будет приведена ниже.

{exp:weblog:entries weblog="news" orderby="date" sort="desc" limit="1" paginate="bottom"}

<h2>{title}</h2>

{summary}

{body}

{paginate}
<p>Page {current_page} of {total_pages} pages {pagination_links}</p>
{/paginate}

{/exp:weblog:entries}

Необходимо отметить, что неважно, где расположен ваш код {paginate} в пределах тега weblog entries. Код разбивки на страницы "удаляется" из обычного вывода, и размещается в соответствующем месте, согласно тому, что вы указали в параметре paginate= (детальное описание которого приведено ниже).

И пример кода для метода "next/previous":

{exp:comment:entries weblog="news" sort="desc" limit="1" paginate="bottom"}

{comment}

<p>By {name} on {comment_date format="%Y %m %d"}</p>

{paginate}

{if previous_page}
<a href="{auto_path}">Previous Page</a> &nbsp;
{/if}

{if next_page}
<a href="{auto_path}">Next Page</a>
{/if}

{/paginate}

{/exp:comment:entries}

Параметры

paginate=

paginate="top" paginate="bottom" paginate="both"

Этот параметр определяет, где будет отображаться код разбивки на страницы для ваших записей раздела или комментариев:

  1. top: Навигационный текст и ссылки будут отображаться сверху списка записей.
  2. bottom: Навигационный текст и ссылки будут отображаться снизу списка записей.
  3. both: Навигационный текст и ссылки будут отображаться и сверху и снизу списка записей.

Если параметр не определен, то блок навигации, по умолчанию, будет отображаться "снизу".

Парные переменные

paginate

{paginate}

{/paginate}

Открывающий и закрывающий теги для разбивки на страницы. Он может использоваться совместно с параметром paginate=, для указания того, где будет отображаться содержимое этого тега. Смотрите ниже описание переменных, доступных для использования в этом теге. Этот тег окружает любые одиночные переменные (смотрите ниже), или парную переменную next/previous.

if next_page

{if next_page}

{/if}

Этот тег выводит код, содержащийся внутри него, если существует "следующая" страница. Если следующая страница отсутствует, то содержимое внутри тега выводиться не будет.

if previous_page

{if previous_page}

{/if}

Этот тег выводит код, содержащийся внутри него, если существует "предыдущая" страница. Если предыдущая страница отсутствует, то содержимое внутри тега выводиться не будет.

Переменные

Эти специальные переменные, предназначены для использования в парном теге {paginate}.

auto_path

{auto_path}

Переменная {auto_path} используется в парных переменных {if next_page} и {if previous_page}. Она содержит динамическое значение пути к следующей/предыдущей странице. В отличие от других переменных "path", эта переменная не требует указания группы шаблонов/шаблона.

current_page

{current_page}

Эта переменная содержит номер текущей просматриваемой страницы.

pagination_links

{pagination_links}

Динамически созданные ссылки нумерации страниц. Они показывают, текущую страницу, на которой вы находитесь, а также, в дополнение к ссылкам на предыдущую / следующую страницы, они отображают "окружающие" страницы. Вывод на экран этой переменной выглядит приблизительно так:

« First < 11 12 13 14 15 > Last »

total_pages

{total_pages}

Общее количество страниц записей раздела или комментариев, имеющихся у вас.

Наверх страницы