ARTICLES. Описание цикла

Данный цикл используется для вывода статей из базы данных. Он обозначается при помощи слова 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 вывод изображения логотипа при наведении мышкой

Автор Serge Markitanenko Publié le : Mis à jour : 21/03/23

Traductions : عربي, català, Deutsch, English, Español, français, italiano, Nederlands, русский, українська