Как сделать карту сайта для блога на Textpattern.
1. Создаем новую статью и добавляем в нее следующий код:
<ul><txp:article_custom limit="5000" form="sitemap" sort="Section, Title"/></ul>
Чтобы используемый в CMS Textpattern язык разметки textile не обрамил нашу карту сайта тегом параграфа (p), в начале строки ставим один пробел – в таком случае textile частично не обрабатывает текущую строку.
Небольшие пояснения по коду:
limit="5000"
– указываем максимальное количество ссылок в карте сайта; если на сайте много статей, желательно сделать несколько карт, с не более чем 100-200 ссылок в каждой;form="sitemap"
– название формы, которая будет использоваться для вывода статей;sort="Section, Title"
– сортировка статей, сортируем статьи сначала по секции, к которой они принадлежат, затем по первой букве в заголовке в алфавитном порядке; можно убрать из кода Section и статьи будут сортироваться исключительно по заголовку.2. Создаем форму и называем ее sitemap:
<txp:if_different></ul>
<h3><txp:section title="1" link="1" /></h3><ul>
</txp:if_different>
<li><txp:permlink><txp:title /></txp:permlink></li>
Небольшие пояснения по коду:
txp:if_different
– очень интересный и загадочный тег. Логика его работы относительна проста – наша форма вызывается для каждой статьи, подходящей по условию, заданному в п.1. Содержимое тега выводится только в том случае, если оно изменилось по сравнению с прошлой статьей. Т.е. в нашем случае сначала идут статьи из одной секции. И этот тег выводит информацию только тогда, когда появляется статья с секцией, отличной от секции предыдущей статьи.txp:permlink
– постоянная ссылка на статью. В качестве содержимого ссылки (т.е. непосредственно текста, который и является ссылкой) выступает заголовок статьи txp:title.txp:section title="1" link="1"
– ссылка на секцию статьи