Фільтри

Тонкощі шаблонів

Фільтри перетворюють зміст бази даних на добре представлений 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».

Див. Таблиці стилей (CSS) у SPIP для більш докладної інформації про 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, українська