Цей цикл використовується для виведення статей з бази даних. Він позначається за допомогою слова 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}
повертає всі статті із заданої рубрики.
- {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)
виводить статті зі статусом «редагується».
Критерії, що використовуються для виведення статей
Ви можете задавати кількість статей, які необхідно вивести, визначати порядок виводу і багато іншого. З циклом (ARTICLES)
можна використовувати практично всі універсальні критерії.
- {exclus}
дозволяє виключити дану статтю зі списку результатів.
Теги цього циклу
Теги, що одержуються з бази даних
Інформація для нижчезазначених тегів береться з бази даних (на відміну від тегів, які «обчислюються» - це поняття буде розкрито трохи пізніше). Всі теги, що одержуються з бази даних, можна використовувати для сортування (наприклад, {par titre}
за назвою або {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
генерує і виводить список змінних форми, які дозволяють залишати коментарі до статей, детальніше.
Логотипи
- #LOGO_ARTICLE
виводить логотип статті. Якщо на сайті (в меню «Конфігурація») включено hovering (тобто додання зображеннь в полі «Логотип при наведенні мишею»), то логотип виводиться зі скриптом, який замінює одне лого на інше при наведенні мишки.
- #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
- виведення зображення логотипу при наведенні мишею.