Вывод пункта меню
Меню на основе разделов
<li><a href="#URL_RUBRIQUE" [title="(#TITRE|supprimer_numero)"]>[(#TITRE|supprimer_numero)]</a></li>
Меню на основе статей
<li><a href="#URL_ARTICLE" title="#TITRE">#TITRE</a></li>
Критерий для вывода разделов которые начинаются с цифры
Обычно, каждый раздел, иногда статья имеет порядковый номер. Кроме как задавать порядок вывода его можно использовать для для скрытия/открытия пунктов меню при помощи такого критерия:
{titre==^[[:digit:]]}
Вывод языковых версий сайта
Если каждая языковая версия сайта находится в корневой папке,
то мы просто выводим названия языков этих разделов.
<div class="language">
<BOUCLE_languages(RUBRIQUES) {racine} {par num titre} {titre==^[[:digit:]]}>
[<a href="#URL_SITE_SPIP?lang=#LANG" [title="#NOM_SITE_SPIP - (#TITRE|supprimer_numero|textebrut)"]>(#LANG|traduire_nom_langue)</a>]
</BOUCLE_languages>
</div>
Подключения функционала по ключевому слову
Кейворды очень удобно использовать для настроек внешнего вида и поведения статей. В данном примере я создал группу ключевых слов "Служебные", и ключевое слово id_mot=1, которым я регулирую выводить или нет форму обратной связи для этой статьи.
<BOUCLE_feedback(MOTS) {id_article} {id_mot=1} {0,1}> #FORMULAIRE_FEEDBACK</BOUCLE_feedback>
Фотогаллерея
Причем сразу с поддержкой lightbox. Поддержка обеспечивается rel=lightbox.
<B_gallery>
<h3>Фотогаллерея</h3>
<BOUCLE_gallery(DOCUMENTS) {id_article}{extension==jpg|png|gif} {mode=document} >
<div class="gallery-item">
[<a href="#URL_DOCUMENT" title="#TITRE" rel="lightbox">(#LOGO_DOCUMENT|image_reduire{150,0})</a>]
</div>
</BOUCLE_gallery>
Доступ к элементу из внешнего запроса
Ключевой момент - #_rubs:TITRE,этот тег выводит #TITRE рубрики из цикла _rubs.
<BOUCLE_rubs(RUBRIQUES)>
<ul>
<BOUCLE_arts(ARTICLES){id_rubrique}>
<li>#_rubs:TITRE - #TITRE</li>
</BOUCLE_arts>
</ul>
</BOUCLE_rubs>
Путь
Путь к текущей странице (разделу). При необходимости легко переделать на статью.
<div class="pathway">
<a href="#URL_SITE_SPIP"><:accueil_site:></a>
<BOUCLE_pathway(HIERARCHIE) {id_rubrique}>
<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
</BOUCLE_pathway>
<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
</div>
Если у нас так организована структура сайта, что в корневые папки - это языковые версии сайта, то часто не надо выводить это в пути, тогда запрос меняется следующим образом(фактически мы добавляем LIMIT 1,100):
<div class="pathway">
<a href="#URL_SITE_SPIP"><:accueil_site:></a>
<BOUCLE_pathway(HIERARCHIE) {id_rubrique} {1,100}>
<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
</BOUCLE_pathway>
<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
</div>
Вывод из двух разделов одновременно
Часто надо выводить последние статьи из двух разделов и вложенных подразделов с сортировкой по дате. Вариант - выводим сначала из одного, а потом из второго - не подходит. Тогда используем массив и получаем такой код.
#SET{rubs, #ARRAY}
<BOUCLE_list (RUBRIQUES) {id_parent IN 4,8}>
#SET{rubs, #GET{rubs}|push{#ID_RUBRIQUE}}
</BOUCLE_list>
<ul>
<BOUCLE_last (ARTICLES) {id_rubrique IN #GET{rubs}} {par date} {inverse} {0,5}>
<li><a href="#URL_ARTICLE" title="#TITRE">#TITRE</a></li>
</BOUCLE_last>
</ul>
Вывод таблицы (по рядам)
Выводим элементы по 3 штуки в ряд.
<table>
<B_row>
<tr>
<BOUCLE_row (ARTICLES) {id_rubrique=5} {doublons} {par date} {0,3}>
<td background="IMG/[(#LOGO_ARTICLE|fichier)]" >
<a href="#URL_ARTICLE">#TITRE</a>
</td>
</BOUCLE_row>
</tr>
<BOUCLE_row_again (BOUCLE_row)></BOUCLE_row_again>
</B_row>
</table>
Задание определенного класса ссылке на текущую рубрику
Используем при выделение цветом текущей ссылке в меню.
class="[(#ID_RUBRIQUE|=={#_main:ID_RUBRIQUE}|?{on,''})]"
Вывод #TEXTE если пустое #CHAPO
[(#CHAPO|?{#CHAPO,[(#TEXTE|couper{200})]})]
Ссылка на логотип с лайтбоксом
[<a href="#URL_SITE_SPIP/IMG/[(#LOGO_ARTICLE|fichier)]" title="#TITRE" rel="lightbox">(#LOGO_ARTICLE|image_reduire{205,0}|inserer_attribut{alt, #TITRE})</a>]
Ставим разделитель каждые 5 записей в BOUCLE
<BOUCLE_list(ARTICLES) {id_rubrique}>
[(#COMPTEUR_BOUCLE|modulo{5}|=={0}|oui) Разделитель]
</BOUCLE_list>
Задаем последнему элементу в цикле отдельный класс
<B_art>
<ul>
<BOUCLE_art(ARTICLES){id_rubrique=1}>
<li><a href="#URL_ARTICLE"
[(#TOTAL_BOUCLE|=={#COMPTEUR_BOUCLE}|?{"class=last",""})] >
#TITRE
</a></li>
</BOUCLE_art>
</ul>
</B_art>