- тобі потрібно зверстати щось під готову систему, яка працює на Smarty
- ти все робиш з нуля, і хочеш підключити Smarty
В принципі, питання верстки і в першому і в другому випадку розкривається однаково, за ікслюченіем тією лише різниці, що в другому варіанті тобі доведеться ще й встановлювати Smarty. Отже ...
установка Smarty
Взагалі кажучи, немає нічого простішого, ніж встановити Smarty.
Потрібно завантажити дистрибутив (бажано останній) з офіційного сайту Smarty (це безкоштовно), завантажити його на свій сайт, і в файлі, який відповідає за відображення вмісту (найчастіше index.php) «проінклюдіть» потрібний файл з головним класом Smarty (установка детально описана на сайті Smarty. навіть російською мовою), і сайт стане працювати на Smarty зі стандартними настройками (які при більш глибокому проникненні в техніку Smarty можна поміняти і поліпшити).
Куди тут писати?
Smarty - штука тонка, налаштувати в ній можна все, що завгодно. Навіть місце, де розташовані шаблони. Так, якщо ти не в курсі, Smarty - компілятор шаблонів, який бере шаблони html сторінок, і заповнює їх необхідними змінними з PHP.
Шаблони, звичайно можуть лежати в будь-який з папок, але найчастіше - це папка templates (ну це зі стандартними настройками), і якщо там немає шаблонів, або такий папки зовсім немає, краще проконсультуватися з розробником системи, під яку потрібно щось зверстати .
В одній з папок, в тій самій, яку визначив розробник, можна знайти шаблони. Вони представляють собою щось дуже сильно схоже на HTML сторінки. Деякі шаблони, можуть бути повноцінними сторінками (з тегами body. Head. Title. Html) і виводяться повністю, а інші можуть бути лиш шаблоном для виведення певного div або таблиці, і будуть виводитися в певному місці іншого більш кропну шаблону.
Основний синтаксис Smarty
Smarty розуміє не тільки змінні, але і класи, масиви, функції і навіть оператори. Якщо тобі ці слова нічого не говорять, не переживай, це програмістські терміни.
Всі змінні / дії / все_что_угодно в Smarty запісиваються в фігурних дужках:
Класи в Smarty представляються так само як і в чистому PHP:
Клас - це як велика змінна, яка може зберігати в собі багато інших змінних і навіть функцій. Їх структуру повинен знати розробник.
Масиви в Smarty не надто сильно відрізняються від класів, а синтаксично виглядають ось так:
Є ще цикли Section які приймають чисельні значення початок, крок, і кінець циклу, і просто послідовно прібиваляют до початку крок, до тих пір, поку не наступить кінець циклу.
Дуже цікаво, що в Smarty є директива foreachelse, яка спрацьовує в тому випадку, якщо масив для обходу порожній:
Умови в Smarty. Часто буває необхідно робити логічні розгалуження, наприклад, для виведення форми входу або й імені користувача, в залежності від того, увійшов він уже в систему чи ні. Для цьог в Smarty є відмінний інструмент:
немає жодної дії
дія не визначено
В цілому все просто і логічно. Можна використовувати будь-яку косбінацію страктор з прикладу вище. А ще дуже приємно те, що в Smarty вбудовані всі функції PHP. які ти можеш легко використовувати при логічному ветвелніі, такі як isset, is_array і т.п.
модифікатори змінних
Це взагалі кажучи не просте тема, і спокійно може зайняти цілу статтю, а не шматочок в кінці, але я розповім основні постулати. У Smarty є модифікатори змінних, це якісь функції, які можуть перетворити значення змінної в потрібний формат, або видати якийсь результат. Так, наприклад, є модифікатор number_format, які як і функція в PHP перетворює число так, щоб воно могло приймати або вид валюти, або целочисленной записи, або десяткового дробу; або модифікатор count для масивів, який повертає кількість елементів масиву прямо в шаблоні, для подальших дій з шаблону, без PHP.
У Smarty є вбудовані модифікатори, багато з яких повторюють функції PHP. Але є можливість додавати і власні модифікатори, які програмує програміст і дає можливість використовувати верстальщикам.
Як видно з прикладу, модифікатор Smarty викликається прямим слешем і назвою модифікатора, а потім через двокрапку запісиаются параметри модифікатора.
Саме на технології модифікатор пееменних (між тим, вбудованої в движок Smarty) і працює форматування дати з попередньої статті.
- Додати функцію в Smarty
- Як підключити PHP class в Smarty
- Робимо відмінювання числівників ...