Пейджинация

Материал из Movable Type Wiki
Перейти к: навигация, поиск

Пейджинация — это разбивка содержимого на отдельные страницы.

Существуют 2 способа сделать пейджинацию:

  • Пейджинация по датам (рекомендуется)
  • Пейджинация с помощью плагинов

Содержание

Пейджинация по датам

Пейджинация по датам — это когда контент отображается за определённый период, но вместо ссылок «предыдущая/следущая страницы выводятся ссылки на предыдущий/следующий период.

Как это сделать

По умолчанию в Movable Type уже создано подобие такой пейджинации. Но, поскольку она не удовлетворяет требованиям некоторых пользователей, на форуме родилось другое решение. (На примере стандартных шаблонов.)

Откройте файл «Список записей» (Entry Listing), найдите в нём код:

<div class="content-nav">
    <MTArchivePrevious>
    <a href="<$MTArchiveLink$>">&laquo; <$MTArchiveTitle$></a> |
    </MTArchivePrevious>
    <a href="<$MTLink template="main_index"$>">Main Index</a> |
    <a href="<$MTLink template="archive_index"$>">Archives</a>
    <MTArchiveNext>
    | <a href="<$MTArchiveLink$>"><$MTArchiveTitle$> &raquo;</a>
    </MTArchiveNext>
</div>

Замените его вот на этот:

<mt:IfArchiveType type="Author">
    <div class="content-nav">
        <mt:ArchiveList archive_type="Author-Monthly" lastn="1">
        <a href="<mt:ArchiveLink>" id="last-link" title="Сообщения за <mt:ArchiveTitle>">&laquo; За весь месяц</a>
        </mt:ArchiveList>
    </div>
</mt:IfArchiveType>
<mt:IfArchiveType type="Category">
    <div class="content-nav">
        <mt:ArchiveList archive_type="Category-Monthly" lastn="1">
        <a href="<mt:ArchiveLink>" id="last-link" title="Сообщения за <mt:ArchiveTitle>">&laquo; За весь месяц</a>
        </mt:ArchiveList>
    </div>
<mt:Else>
    <div class="content-nav">
        <MTArchivePrevious><a href="<$MTArchiveLink$>">&laquo; <$MTArchiveTitle$></a> | </MTArchivePrevious>
        <a href="<$MTLink template="main_index"$>">Главная страница</a> |
        <a href="<$MTLink template="archive_index"$>">Архивы</a>
        <MTArchiveNext> | <a href="<$MTArchiveLink$>"><$MTArchiveTitle$> &raquo;</a></MTArchiveNext>
    </div>
</mt:IfArchiveType>

Обратите внимание на первые 2 условия: Author и Category. Код сделан таким образом, что будут публиковаться (если эти архивы активны) ссылки на архивы категорий и авторов по месяцам. Если у вас не публикуются архивы категорий и авторов по месяцам, но, к примеру, публикуются архивы авторов и категорий по дням/неделям/годам, то необходимо изменить атрибут тега ArchiveList — archive_type. В шаблоне главной страницы найдите код:

<div class="content-nav">
    <a href="<$MTLink template="archive_index"$>">Archives</a>
</div>

И замените его на этот:

<MTIfArchiveTypeEnabled archive_type="Monthly">
    <div class="content-nav">
    <mt:ArchiveList archive_type="Monthly" lastn="1">
    <a href="<mt:ArchiveLink>" id="last-link" title="Сообщения за <mt:ArchiveTitle>">&laquo; За весь месяц</a>
    </mt:ArchiveList>
    </div>
</MTIfArchiveTypeEnabled>

После этих действий опубликуйте блог полностью. Ещё один вариант пейджинации по датам, предложенный участником форума liketts.

Пейджинация с помощью плагинов

На данный момент самым актуальным плагином для пейджинации является разработка от Марка Кэри — Pagination. Плагин делаёт пейджинацию следующего вида: index.html?page=1, index.html?page=2, index.html?page=3, и т.д. Минус плагина: для страниц пейджинации используется динамическая публикация.


Авторы этой статьи

Pencil exclamation.png Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её.

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты