Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 09-10-2006 18:21:36

Pho-No
есть
Зарегистрирован: 07-06-2006
Сообщений: 61
Вебсайт

HOWTO удобный архив по категориям на Textpattern

Когда постов в блоге или товаров на интернет-витрине становится слишком много, появляется проблема структурирования контента сайта. В Textpattern контент изначально можно разбить по категориям. Остается только оформить его в виде удобного архива\каталога. Для этого я использую плагин rss_suparchive.

Просматривая сайты на Textpattern, я увидел, что в основном архив реализуется в виде длинной “простыни” на несколько экранов уходящей вниз. Приблизительно так:

категория1
    заголовок1
    заголовок2
категория2
    заголовок3
    заголовок4

и т. д.

Как пример — архив автора плагина rss_suparchive

Мне такое решение не очень нравится. Соответственно начали вырисовываться такие требования к архиву:

Должна быть отдельная страница (секция) для архива. На ней – только список категорий в виде линков. Кликая на линк категории получаем список из заголовков статей в этой категории.
Таким образом, до нужной статьи мы добираемся в три клика (архив\категория\статья), что есть не очень хорошо. Но это можно исправить, вынеся список категорий в sidebar — боковой элемент, который будет присутствовать на всех страницах сайта. Тогда будет только два клика.

Итак, скачиваем и устанавливаем плагин, не забыв его активировать. Создаем секцию archive.
Создаем страницу archive и назначаем ее для отображения секции archive.
Убираем из страницы все лишнее и ставим:

Код:

<txp:output_form form="archive"/>

N.B: На моем сайте сделано немного иначе — весь сайт использует только одну страницу default. В зависимости от текущей секции выводятся разные блоки с помощью txp:if_section.
В этом случае страницу archive создавать не нужно, а в страницу default ставим:

Код:

<txp:if_section name="archive">
<txp:output_form form="archive"/>
</txp:if_section>

Дальше — создаем форму archive с содержанием:

Код:

< txp:if_category name="блондинки">
<txp:rss_suparchive_bycat section="blog" linktosection="blog" showcatcount="0"/>
</txp:if_category>

<txp:if_category>
<txp:else/>
<txp:rss_suparchive_bycat section="blog" linktosection="archive" showcatsonly=”1”/>
</txp:if_category>

что переводится как:
если текущая категория называется “блондинки” – показать заголовки всех статей этой категории из секции “blog”.
Если категория не указана – показать только список всех категорий из секции “blog” и счетчик статей в них.

Нюанс: для списка категорий я указываю linktosection=”archive”. Это для того, чтобы попадая в список статей мы оставались в секции archive.

Сохраняем форму и проверяем как все работает на сайте.

Для большей красоты и удобства можно добавить в форму линк, который вернет нас из списка статей назад в список категорий. И rss-feed линк только этой категории.

Код:

< txp:if_category name="блондинки">
<txp:feed_link category="блондинки" label="rss-feed этой категории" />
<txp:rss_suparchive_bycat section="blog" linktosection="blog" showcatcount="0"/>
<a href="/archive">назад</a>
</txp:if_category>

Итого, в плюс такому решению –
компактность и удобство навигации.

В минус – создавая новую категорию нужно не забывать создавать и правило для нее в форме “archive”. Иначе, список статей для новой категории выводиться не будет.

Оригинал howto вместе с работающим по такому принципу архивом на моем сайте)

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru