Примечание. Цикл RUBRIQUES выводит только "активные" разделы, т.е. в которых есть опубликованные статьи, к котором добавлены файлы, сайты или содержат активные подразделы. Так сделано для того, что бы на сайте не показывались пустые разделы. Но в случае необходимости вы можете вывести "пустые" разделы, но об этом ниже.
Критерии
Для того, что бы выбрать разделы, которые необходимо показать, используются следующие критерии:
- {id_rubrique}
возвращает раздел с идентификатором id_rubrique. Так как у раздела идентификатор может иметь только одно значение, то это критерий выведет только один раздел (или не выведет ничего).
Примечание. Можно вывести несколько разделов использую критерий
{id_rubrique IN xxx,yyy,zzz}
- {id_secteur}
возвращает все разделы, которые находятся в секторе с идентификатором id_secteur. Так же можно использовать критерий {branche}
, который подробно описан в статье ARTICLES. Описание цикла, для вывода всех подразделов любого уровня вложенности.
- {id_parent}
выводит список подразделов, которые находятся в разделе, у которого id_parent=#ID_RUBRIQUE. Используется для вывода подразделов текущего раздела.
Поле базы id_parent содержит номер родительского раздела. Поэтому что бы вывести содержимое конкретного раздела, надо указать его номер в этом критерии.
Пример.
Цикл, который выводит подразделы, вложенные в текущий раздел.
<BOUCLE_parent(RUBRIQUES) {id_rubrique}>
Раздел №#ID_RUBRIQUE содержит такие подразделы:
<BOUCLE_children(RUBRIQUES) {id_parent=#ID_RUBRIQUE}>
#TITRE <br />
</BOUCLE_children>
</BOUCLE_parent>
Цикл _parent
выводит информацию о текущем разделе. Более всего нас интересует значение #ID_RUBRIQUE
, которое мы используем в следующем цикле, что бы указать, для какого раздела надо вывести все дочерние элементы.
- {racine}
выводит список разделов в корне сайта. Полностью идентично записи {id_parent=0}
.
- {id_enfant}
возвращает раздел, который содержит подраздел, номер которого указанный в критерии id_enfant. Так же можно записать как {id_rubrique=#ID_PARENT}
. Критерий выводит только одну запись или ничего, в случае если этот раздел - корневой.
- {meme_parent}
выводит список разделов, у которых номер родителя (id_parent) такой же как у текущего раздела.
- {id_mot}
, {titre_mot=xxx}
возвращает список разделов, к которым добавлен ключ с указанным номером или же с заданным названием.
<BOUCLE_rubs(RUBRIQUES) {id_mot=2}>
#TITRE
</BOUCLE_rubs>
- {id_groupe}
, {type_mot=yyyy}
выводит список разделов, к которым добавлены ключи из группы ключей с указанным номером или названием.
<BOUCLE_rubs(RUBRIQUES) {id_groupe=1}>
#TITRE
</BOUCLE_rubs>
- {recherche}
выводит список разделов, которые найдены поисковой системой SPIP по ключевым словам, заданным в поиске. Подробнее о работе поисковой системы. О проблеме с кирилическим поиском в статье ARTICLES. Описание цикла.
- {lang}
выводит все разделы, язык которых равен значению из окружения (из URL или внешнего цикла) или же главному языку сайта (если в окружении значение lang
не задано.
- {tout}
выведет все разделы, включая пустые разделы.
- Однако, данный фильтр необходим в очень специфических случаях или же при отладке сайта.
Критерии, доступные в SPIP 3
{feuille}
позволяет вывести разделы без подразделов - самые нижние элементы дерева разделов.
{noeud}
позволяет отобрать разделы у которых есть
подразделы.
{!racine}
выводит все разделы, кроме корневых. Т.е. у которых {id_parent!=0}
.
{profondeur=1}
выводит разделы 2го уровня (0 уровень - это корень сайта - сектор, 1 - разделы, которые находятся в секторе)
.
Критерии, используемые для вывода статей
Вы можете использовать универсальные критерии.
- {exclus}
используется для того, что бы исключить текущий раздел из результатов вывода. Полезен с критерием meme_parent.
Теги, выводимые из
- Теги, получаемые из базы данных
Информация, которую выводят данные теги, хранится в базе данных. Поэтому их можно использовать для сортировки выводимых элементов (например , {par titre}
выведет разделы по названиям разделов по алфавиту).
- #ID_RUBRIQUE
выводит номер раздела.
- #TITRE
выводит название раздела. Начиная с версии SPIP 3.0 при выводе названия к нему автоматически применяется фильтр |supprimer_numero
.
- #DESCRIPTIF
выводит содержимое поля "описание". Поле можно включить в настройках сайта.
- #TEXTE
выводит содержимое поля "текст" текущего раздела.
- #ID_SECTEUR
выводит номер сектора, в котором находится текущий раздел.
- #ID_PARENT
выводит номер раздела, в котором находится текущий раздел. Если у нас раздел второго уровня вложенности, то #ID_PARENT==#ID_SECTEUR
.
- Вычисляемые (генерируемые) теги
В отличии от статических тегов, значение вычисляемых не хранится в базе данных, а генерируется SPIPом. Поэтому мы не можем использовать их для сортировки вывода.
- #NOTES
выводит сноски (значение генерируется на основе поля "текст" раздела - SPIP анализирует и находит всю информацию о сносках и выводит ее).
- #INTRODUCTION
выводит первые 600 символов поля "текст". Подробнее о теге #INTRODUCTION.
- #URL_RUBRIQUE
выводит URL страницы раздела. Особенности такие же, как и для #URL_ARTICLE.
- #DATE
выводит дату последнего опубликованного элемента в текущем разделе или его подразделах - статьи, ленты новостей ...
- #FORMULAIRE_FORUM
выводит форму комментариев к разделу. Больше информации в статье "Les formulaires".
- #PARAMETRES_FORUM
выводит список всех переменных, необходимых для работы формы (подробнее. Пример:
[ <a href="forum.php3?(#PARAMETRES_FORUM)">Оставить комментарий </a> ]
- #FORMULAIRE_SITE
(since SPIP 1.4 ) выводит форму, которая позволяет посетителям предлагать ссылки на сайты для текущего раздела. Ссылки публикуются только после утверждения администратором.
Форма выводится на сайте только в том случае, если в настройках сайта включена опция "Каталог сайтов".
Логотипы
- #LOGO_RUBRIQUE
выводит логотип раздела. Если добавлена картинка в поле "Логотип при наведении мышкой" (включается в настройках системы), то логотип выводится со скриптом, который заменяет одно лого на другое при наведении мышки.
Если у раздела нет логотипа, то выведется или логотип родительского раздела, или раздела уровнем выше, в случае, если у родительского раздела тоже не будет логотипа.
Синтаксис логотипа:
[(#LOGO_RUBRIQUE|alignment|address)]
Где:
- alignment выравнивание (left или right)
- address - URL на который перейдет посетитель, если нажмет на логотип.
Начиная с версии SPIP 2.1 можно использовать следующую запись:
#LOGO_RUBRIQUE{#URL_RUBRIQUE,left}
Как получить больше информации о логотипе
Если вам необходимо вывести URL логотипа, то вы можете применить фильтр |lien
:
[ (#LOGO_ARTICLE|lien) ]
А начиная с версии SPIP 2.1 можно писать так:
[ (#LOGO_ARTICLE*) ]
Если вам необходимо вывести название файла логотипа, вы можете применить фильтр |fichier
:
[ (#LOGO_ARTICLE|fichier) ]
А начиная с версии SPIP 2.1 можно писать так:
[ (#LOGO_ARTICLE**) ]
Все логотипы хранятся в корне папки IMG/
и имеют фиксированные названия. Для логотипа раздела название формируется следующим образом: rubonXXX.ext
, где XXX
- номер раздела, а ext
- расширение файла.
Вывод определенного логотипа
И еще два тега, которые иногда сильно выручают (особенно в тех случаях, когда нам необходимо два логотипа для вывода в разных шаблонах):
- #LOGO_ARTICLE_NORMAL
вывод изображения логотипа
- #LOGO_ARTICLE_SURVOL
вывод изображения логотипа при наведении мышкой