форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Когда постов в блоге или товаров на интернет-витрине становится слишком много, появляется проблема структурирования контента сайта. В 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 вместе с работающим по такому принципу архивом на моем сайте)
Неактивен