Додати функцію в smarty

Додати функцію в smarty

Частенько виникає завдання додати функцію в Smarty в якості обробника.
Наприклад так, щоб в шаблоні можна було обробити якісь дані. Такий функцією напевно користувався розробник сайту Вебекс. для того, щоб організувати якісний висновок даних.

Для цього в Smarty є спеціальна фішка: реєстрація функцій.

В принципі все дуже просто.

Додати функцію в Smarty

У PHP файлі, в якому створюється об'єкт класу Smarty додається рядок коду (додати функцію в Smarty):

Де, function_name_to_call_in_smarty - назва функції, яке ви будете викликати в Smarty, а your_function_name - реальне назва функції на PHP, яке буде викликатися.

Звичайно, назви функцій в Smarty і PHP можуть бути однаковими.

Потім десь в області видимості Smarty (поруч з рядком реєстрації функції, або в окремому файлі php, який інклюд) потрібно задекларувати і описати фукнции your_function_name.

Все, функція готова, і додана в Smarty.

Тепер подивимося, як викликати цю функцію в Smarty:

Результатом цього рядка коду в шаблоні Smarty буде:

Hello HTMLER.ru! Nice to meet you!

Як бачите додати функцію в Smarty не складно. А викликати її ще простіше. Потрібно просто прописати назву функції, яку ви попередньо зареєстрували, і набір параметрів, які потрібно передати. Таких параметрів може бути скільки завгодно.

Крім того, якщо додати функцію в Smarty, то в неї можна передавати не тільки рядки (як в прикладі раніше), а й змінні, які виводяться в шаблоні, наприклад:

Де, $ elem_name - це проассігненая змінна в шаблоні Smarty (яку можна вивести конструкцією), але замість цього її передали в функцію.

Схожі статті