Фильтры

Тонкости шаблонов

Фильтри преобразуют содержимое базы данных в хорошо представленный HTML код

Если ЦИКЛЫ помогают структурировать страницу в логическом порядке, то вам остается только представить контент эстетическим образом. SPIP не может создать дизайн страницы за вас, но вы можете использовать его фильтры ...

Контент хранится в базе данных и представляет собой текстовые блоки. Фильтры существуют для того, чтобы манипулировать текстом перед показом его на экране. Вот какие фильтры внедрены для этого:

-  Фильтры, которыми чаще всего пользуются - это |typo и |propre; оба применяются автоматически. Первый из них - печатный корректор, основной миссией которого является добавление неразрывных пробелов там, где их требуют типографские правила (см. онлайн помощь SPIP). Второй следит за форматированием абзацев и применением стилей к тексту, отмеченному SPIP-ярлыками (или типографским сокращениями), чтобы сделать текст в соответствии с ними курсивом, полужирным, подзаголовком и т.д., - обычно он применяется только к длинным текстам (к полному тексту статьи - #TEXTE, вступительному тексту - #CHAPO, и т.д.)

-  Другие фильтры очень полезны, например, |majuscules отображает текст большими буквами, |justifier выравнивает текст по ширине, |aligner_droite выравнивает текст по правому краю. Есть и более экзотические, как |saison (сезон), который отражает слово «лето», когда он применен к дате между 21 июня и 20 сентября.

Чтобы использовать фильтр необходимо заключить переменную с фильтром в скобки и вместе разместить их в квадратных скобках (мы увидим последствия позже) [- бла-бла (#VARIABLE|filter) бла-бла]

Фильтры можно объединять [1], как этот код: [(#DATE_REDAC|saison|majuscules)], выдающий «ЗИМА».

Предлагаем упражнение к этому уроку: попробуйте отразить большими буквами названия последних 10 статей из рубрики и проставить в верхней части страницы текущий сезон (то есть сезон, в котором опубликовано свежая статья из базы данных).

...

Почему скобки? Давайте предположим, что ваша база данных содержит одновременно и датированные статьи, и не датированные. Переменная #DATE равна «2003-07-01 10-53-01» (формат MySQL) в первом случае и «0000-00-00 00-00-00» - во втором. Для отображения даты в хорошем формате мы будем использовать следующие строки в шаблоне:

[<table border="1"><tr><td>
(#DATE|affdate)
</td></tr></table>]

Здесь фильтр |affdate выводит дату текстом (в формате «1 июля 2003»), но возвращает пустую строку, если дата неизвестна (то есть равна «0000-00-00...») . В квадратных скобках добавлен текст, который будет отображаться перед и после даты, но только тогда, когда в круглых скобках непустая строка. Результатом будет таблица из дат, в которой будут содержаться только датированные статьи.

Хорошо продуманный шаблон точно определит, что должно быть отражено, а что нет, в соответствии с контекстом... Фильтры также помогут в этом.

Примечания

[1создавая то, что мы называем «трубопроводами...»

Обратите внимание, что вместо некоторых фильтров можно использовать стили.Так |majuscules эквивалентен атрибуту CSS "text-transform: uppercase", а |justifier эквивалентен "text-align: justify".

См. Spip and style sheets для более подробной информации о CSS стилях, которые предлагает SPIP (еще не переведено).

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

Traductions : عربي, català, corsu, Deutsch, English, Español, français, italiano, Nederlands, Português, русский, slovenčina, Türkçe, українська