Данный цикл используется для вывода статей из базы данных. Он обозначается при помощи слова ARTICLES
(не забываем добавить “S” в конце слова) в круглых скобках.
<BOUCLEn(ARTICLES){criterion...}>
Примечание. Цикл ARTICLES
по умолчанию выводит только статьи со статусом "опубликована". Для того, что бы показать статьи с другими статусами ("готовится", "утверждается" и т.д.) необходимо воспользоваться специальным критерием.
Критерии, используемые для выбора статей
Приведенные критерии можно использовать для выбора статей из базы данных:
- {tout}
, (переводится с французского как "все"), покажет все статьи из всех разделов (rubriques) существующих на сайте со статусом "опубликовано". Критерий полезен, если необходимо показать свежие статьи, которые опубликованы на сайте.
- {id_article}
возвращает статью, у которой номер соответствует id_article
. Так как номер каждой статьи уникальный, данный фильтр вернет только одну статью или же ничего.
Если критерий задан как {id_article}
, то SPIP попробует взять значение из окружения (из URL или внешнего цикла. В случае, если в окружении значение id_article
не задано, то критерий интерпретируется как {id_article=0}
. Так как статьи с таким номером нет, но и результат цикла будет нулевой.
Если значение критерия задать явно {id_article=1}
, то SPIP попробует вывести статью с номером 1.
Если необходимо вывести несколько статей, то данный критерий можно расширить при помощи оператора IN
- {id_article IN xxx,xxx ...}
.
- {id_rubrique}
возвращает все статьи из заданного раздела(rubrique).
- {id_secteur}
возвращает все статьи из заданного сектора. Сектор - раздел который находится в корне сайта, у него id_parent=0
. Статьи выводятся не только из раздела, но и из всех его подразделов, вне зависимости от уровня вложенности.
- {branche}
выводит все статьи из текущего раздела и его подразделов. Однако, этот критерий надо использовать только при условии, если текущий раздел задается окружением, явно задать значение критерия нельзя. Обычно это выглядит так:
<BOUCEL_rubrique(RUBRIQUES) {id_rubrique}>
<BOUCLE_articles(ARTICLES) {branche}>
#TITRE
</BOUCLE_articles>
</BOUCLE_rubrique>
В версиях SPIP до 3.х.х нельзя задавать значения критерия напрямую: {branche=2}
работать не будет. В более поздних версиях - надо проверить :))).
Этот критерий надо использовать аккуратно, если структура сайта спроектирована правильно, то в нем нет необходимости, но он часто необходим при организации вывода каталогов товаров или услуг.
- {id_auteur}
возвращает список статей указанного автора (статьи, созданные указанным пользователем).
- {id_mot}
возвращает список статей, которым добавлен указанный ключ. Ключи - это аналог меток, позволяют группировать статьи по дополнительным признакам.
- {titre_mot=xxxx}
или {type_mot=yyyy}
возвращает список статей, название ключа у которых соответствует “xxxx” или же статьи, к которым добавлены ключи из группы с названием “yyyy”. Однако, нельзя использовать несколько критериев {titre_mot=xxxx}
или {type_mot=yyyy}
в одном и том же цикле.
- {id_groupe=zzzz}
возвращает все статьи, ключи которых находятся в группе с номером "zzzz". [Замечание: критерий не совместим с критерием {type_mot=yyyy}
и их нельзя использовать в одном цикле.]
- {lang}
возвращает статьи, написанные на заданном языке.
Надо понимать, что SPIP не умеет автоматически распознавать язык, на котором написана статья - язык статьи, это опция, которая определяется опцией "Главный язык сайта" в настройках CMS, или же задаются в опциях раздела/статьи, если на сайте включен режим многоязычности.
- {date}
(или {date=...}
или {date==...}
) возвращает все статьи согласно текущей дате или же дате, полученной из URL. На самом деле работа с датами и временем требует отдельно вдумчивого изучения, подробная информация тут.
- {recherche}
выводит статьи, согласно заданному критерию поиска. Поиск выполняется отдельной подсистемой SPIP. Подробная информация о системе поиска. Для поиска на кириллице можно использовать этот плагин.
Вывод статей в зависимости от статуса
Для отбора статей по статусу используется критерий status. Необходимо помнить, что по умолчанию, выводятся только опубликованные статьи.
{statut IN prop,prepa,publie,refuse,poubelle}
- выводит все статьи. Значения статусов: готовится (prepa), на утверждении (prop), опубликовано (publie), отказано (refuse), удалено (poubelle).
{statut=prepa)
выводит статьи, со статусом "готовится".
Критерии, используемые для вывода статей
Вы можете задавать количество статей, которые необходимо вывести, определять порядок вывода и многое другое. C циклом (ARTICLES)
можно использовать практически все универсальные критерии.
- {exclus}
позволяет исключить данную статью из списка результатов.
Теги
Теги, получаемые из базы данных
Информация для нижеприведенных тегов берется из базы данных (в отличии от "расчитываемых" тегов - это понятие будет раскрыто немного позже).Все теги, получаемые из базы можно использовать для сортировки You can also use them as sorting criterion (for example, {par titre}
by title or {par date}
по дате).
- #CHAPO
выводит поле «введение» к статье. Поле включается в настройках системы.
- Вывод дат: работа с тегами #DATE
, #DATE_REDAC
, #DATE_MODIF
подробно описана в отдельной статье.
- #DESCRIPTIF
выводит поле «описание». Поле включается в настройках системы. Используется так же в циклах (RUBRIQUES), (MOTS).
- #ID_ARTICLE
возвращает номер статьи (id - уникальный идентификатор в базе данных). Полезен, если необходимо передать номер статьи в произвольный шаблон. Например, у вы сделали шаблон page.html для отображения версии страницы для печати, тогда ссылка на страницу в шаблоне будет выглядеть так:
<a href="/?page=print&id_article=#ID_ARTICLE"> версия для печати</a>
- #ID_RUBRIQUE
выводит номер раздела: номер раздела в цикле (RUBRIQUES) или номер раздела, в котором находится статья в цикле (ARTICLES).
- #ID_SECTEUR
выводит номер сектора, в котором находится статья или раздел. Сектор - это раздел сайта, который находится в корне, у которого id_parent=0.
- #LANG
выводит язык статьи или раздела.
- #POPULARITE
выводит рейтинг посещаемости статьи в процентах.Подробнее в отдельной статье.
- #PS
выводит содержимое поля «постскриптум». Поле включается в настройках системы.
- #SOUSTITRE
выводит поле «подзаголовок», поле включается в настройках системы.
- #SURTITRE
выводит содержимое поля «надзаголовок» статьи. Поле включается в настройках системы.
- #TEXTE
выводит основной текст статьи. Так же используется для вывода этого поля в цикла (RUBRIQUES), (MOTS) и других.
- #TITRE
выводит «заголовок» (название) статьи. Тег использует практически во всех циклах для отображения названия объекта, который выводится из базы.
Теги #NOM_SITE
и #URL_SITE
отвечают за вывод поля «гиперссылка», которое включается в настройках сайта. #NOM_SITE
- название сайта, a #URL_SITE
за ссылку.
- #VISITES
выводит количество просмотров статьи.
Вычисляемые (генерируемые) теги
В отличии от статических тегов, значение вычисляемых не хранится в базе данных, а генерируется SPIPом. Поэтому мы не можем использовать их для сортировки вывода.
- #NOTES
выводит сноски (значение генерируется на основе текста статьи - SPIP анализирует и находит всю информацию о сносках и выводит ее).
- #INTRODUCTION
: тег выводит поле описание(#DESCRIPTIF),а если его нет - то показывает первые 600 символов статьи (из полей #CHAPO и #TEXTE). Подробнее.
- #LESAUTEURS
выводит список авторов данной статьи. Имя автора (#NOM) выводится как ссылка на страницу его профиля (auteur.html). Тег позволяет вывести авторов статьи без построения дополнительного цикла AUTEURS.
- #PETITION
выводит текст подписи, если таковой существует.
Данный функционал используется крайне редко, поэтому если необходима более подробная информация по этому тегу - можно обратится к английской версии статьи.
- #URL_ARTICLE
выводит URL текущей статьи, подробнее.
- #FORMULAIRE_FORUM
выводит форму комментариев к текущей статье.
- #FORMULAIRE_SIGNATURE
выводит форму по сбору подписей к статье.
- #PARAMETRES_FORUM
выводит список всех параметров необходимых для работы формы (подробнее. Пример:
[ <a href="forum.php3?(#PARAMETRES_FORUM)">Оставить комментарий </a> ]
Логотипы
- #LOGO_ARTICLE
выводит логотип статьи. Если добавлена картинка в поле "Логотип при наведении мышкой" (включается в настройках системы), то логотип выводится со скриптом, который заменяет одно лого на другое при наведении мышки.
- #LOGO_ARTICLE_RUBRIQUE
выводит логотип статьи, а если его нет - то логотип раздела.
- #LOGO_RUBRIQUE
выводит лого раздела.
Пример вывода лого статьи:
[ (#LOGO_ARTICLE|alignment|address) ]
Alignment (выравнивание) может быть left
(по левому краю) или right
(по правому). Address - это URL на который можно перейти, если нажать на картинку. Если это значение не указать, то лого будет некликабельным.
В чистом виде тег выводит уже готовый HTML код, но в ряде случаев необходимо вывести название файла, например, что бы указать в качестве фона в таблице. Для этого можно использовать фильтр |fichier
следующим образом:
[ (#LOGO_ARTICLE|fichier) ]
И еще два тега, которые иногда сильно выручают (особенно в тех случаях, когда нам необходимо два логотипа для вывода в разных шаблонах):
- #LOGO_ARTICLE_NORMAL
вывод изображения логотипа
- #LOGO_ARTICLE_SURVOL
вывод изображения логотипа при наведении мышкой