1

Тема: Перелистывание на сайте. (Архивы сообщений.)

Вопрос возник такой.
При наличии на сайте статей больше, чем выставленно в настройках (изначально 10), внизу страницы не показывается перелистывание, а просто ссылка на страницу с архивом сообщений.
Есть ли возможность это изменить, вставив туда перелистывание "Назад" "Вперёд" средствами МТ, т.е. не влезая в код?

2

Re: Перелистывание на сайте. (Архивы сообщений.)

Пейджинация — это больная тема для Movable Type. Без влезания в код её точно не сделать.
Я рекомендую делать ссылки «Назад»—«Вперёд», ведущие на архивы по датам (месяц, неделя, день). Во первых, это просто сделать, во-вторых, не добавляется никакой нагрузки на сервер, в третьих, такая страница архива в независимости от наличия новых сообщений будет содержать одни и теже сообщения.
Пример таких архивов можно посмотреть на BoingBoing (http://boingboing.net) или у меня в блоге (http://saahov.ru/blog/)

А при обычной пейджинации содержание страниц меняется, когда добавляется новое сообщение.

3

Re: Перелистывание на сайте. (Архивы сообщений.)

Вот ещё плагин для пейджинации: http://www.aldenbates.com/plugins/pagedarchives.html

4

Re: Перелистывание на сайте. (Архивы сообщений.)

Спасибо, будем экспериментировать 8)

5

Re: Перелистывание на сайте. (Архивы сообщений.)

интересно как работает на boingboing пагинация по категориям, допустим здесь http://www.boingboing.net/video/ внизу страницы имеем "Continue Reading Older Posts" и ссылка ведущая сюда - http://www.boingboing.net/video/2007/11/#entry-40387
т.е скипается некоторое колво сообщений (?) или... что-то я заработался, верх туловища не работает ;)

6

Re: Перелистывание на сайте. (Архивы сообщений.)

На Боинге включена публикация архивов категорий по месяцам и в шаблоне такая конструкция:

<div id="continue-reading">
      <MTArchivePrevious>
          <a href="<$MTArchiveLink$>"><span>Continue Reading</span> Older Posts</a>
      </MTArchivePrevious>
</div>

7

Re: Перелистывание на сайте. (Архивы сообщений.)

saahov
большое спасибо за просветление, буду пробовать
плохо что с тегами нет таких трюков

Отредактировано liketts (09:12:2007 08:04:28)

8

Re: Перелистывание на сайте. (Архивы сообщений.)

Я пользуюсь плагином  MTPaginate. (MT3)

http://reg.kost.ru/index.html?page=2

9

Re: Перелистывание на сайте. (Архивы сообщений.)

Просьба от меня криворукого...
Напишите здесь, плиз, код для перелистования на главной по месяцам, и, если не трудно, для перелистование в посте вперёд/назад по названием постов.
Спасибо заранее!

10

Re: Перелистывание на сайте. (Архивы сообщений.)

vitol пишет:

Просьба от меня криворукого...
Напишите здесь, плиз, код для перелистования на главной по месяцам, и, если не трудно, для перелистование в посте вперёд/назад по названием постов.
Спасибо заранее!

себя надо любить - это 1 ;)
по существу:

с главной перейти на архивы по месяцам так:

<div id="tuda-suda">
<MTArchiveList archive_type="Monthly" lastn="1">
<a href="<$MTArchiveLink$>">&larr; за весь месяц</a>
</MTArchiveList>
&nbsp;|&nbsp;
<a href="<$MTLink template="archive_index"$>">полный архив</a>
</div>

под каждой новостью сделать навигацию так:

<div id="minus-enrty-plus">
<MTEntryPrevious>
<a href="<$MTEntryPermalink$>">&larr; <$MTEntryTitle remove_html="1"$></a>
</MTEntryPrevious>
<MTEntryNext>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle remove_html="1"$> &rarr;</a>
</MTEntryNext>
</div>

если в движке включены Category-Monthly архивы, то можно сделать внизу каждой категории навигацию по месяцам так:
ищем в шаблоне Entry Listing блок кода начинающийся с

<MTUnless name="datebased_archive">
    <MTIfArchiveType archive_type="Category">

и заменяем весь этот блок начиная с <MTUnless name="datebased_archive"> и заканчивая </MTUnless> на следующее:

<div id="cat-tuda-suda">
<MTUnless name="datebased_archive">
    <MTIfArchiveType archive_type="Category">
<MTIfArchiveTypeEnabled archive_type="Category-Monthly">
<mt:ArchiveList archive_type="Category-Monthly" lastn="1">
<a href="<mt:ArchiveLink>" title="<$MTArchiveTitle encode_html="1"$>" />&larr; ходи назад</a> |
</mt:ArchiveList>
</MTIfArchiveTypeEnabled>
<a href="<$MTLink template="main_index"$>">домой</a> |
<a href="<$MTLink template="archive_index"$>">архив</a>
    </MTIfArchiveType>
<MTElse>
    <MTArchivePrevious>
<a href="<$MTArchiveLink$>" title="<$MTArchiveTitle encode_html="1"$>" />&larr; ходи назад</a> |
    </MTArchivePrevious>
<a href="<$MTLink template="main_index"$>">домой</a> |
<a href="<$MTLink template="archive_index"$>">архив</a>
    <MTArchiveNext>
 | <a href="<$MTArchiveLink$>" title="<$MTArchiveTitle encode_html="1"$>" />ходи вперед &rarr;</a>
    </MTArchiveNext>
</MTUnless>
</div>

[size=10]вот еще что вспомнилось .. vitol посмотрите свой сайт в IE7, надо подправить кой чего, а то подвал больше места занимает чем вся страница - скриншот тут (1.6мб)[/size]

Отредактировано liketts (26:04:2008 19:37:19)

11

Re: Перелистывание на сайте. (Архивы сообщений.)

Чтобы сделать пейджинация по датам, нужно:

[listo]
[li]Открыть шаблон «Список записей» (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>

[/li]
[li]Заменить этот код вот на этот:

<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.
[/li]
[li]В шаблоне главной страницы найти код:

<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>

[/li]
[/listo]
А затем полностью опубликовать блог.

12

Re: Перелистывание на сайте. (Архивы сообщений.)

Ох, так получилось, что мы с liketts опубликовали решение этого вопроса :) Но он первый ))
В общем, на выбор теперь.

13

Re: Перелистывание на сайте. (Архивы сообщений.)

likkets и saahov: Огромное спасибище за подсказки и код! Буду пробовать.

14

Re: Перелистывание на сайте. (Архивы сообщений.)

Сделал как написано в 11 посте.
При попытке публикации выскакивает такая ошибка:
Произошла ошибка во время публикации категория «1»: Ошибка публикации в шаблоне «Список записей категории»: Ошибка в теге &lt;mtIfArchiveType&gt;: Ошибка в теге &lt;mtArchiveList&gt;: Ошибка в теге &lt;mtArchiveLink&gt;: Вы использовали тег &lt;$MTArchiveLink$&gt; для связки с архивом «Category-Monthly», который не публикуется.

Как я понимаю, какие-то настройки у меня не соответствуют отредактированным шаблонам.  А какие и где?

15

Re: Перелистывание на сайте. (Архивы сообщений.)

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

16

Re: Перелистывание на сайте. (Архивы сообщений.)

Никак не могу найти эту настройку. На локалке вроде все точно также, и все публикуется.

17

Re: Перелистывание на сайте. (Архивы сообщений.)

saahov пишет:

Я рекомендую делать ссылки «Назад»—«Вперёд». Пример таких архивов можно посмотреть на BoingBoing http://boingboing.net или у меня в блоге (http://saahov.ru/blog/)

Подскажите, пожалуйста, как это сделать без плагинов (для категорий).

18

Re: Перелистывание на сайте. (Архивы сообщений.)

Для категорий — никак. И всего одна причина — нет такого тега, который нормально подсчитывал бы количество записей в категориях.