Составные шаблоны
По традиции, программирование шаблонов в вашем приложении идёт следующим
путём: Сначала вы формируете переменные внутри вашего приложения PHP
(возможно, используя запросы к базе данных). Затем вы создаёте экземпляр
объекта Smarty, назначаете переменные и отображаете шаблон.
Давайте представим себе такую ситуацию: К примеру, у нас есть котировщик
ценных бумаг в нашем шаблоне. Мы собираем данные о котировках ценных бумаг
в нашем приложении, затем передаём эти переменные в шаблон и отображаем
его. Правда, было бы здорово, если бы этот котировщик можно было перенести
в другое приложение, просто подключив к нему шаблон, не беспокоясь об
источнике данных.
Вы можете сделать это, написав собственное расширение для получения
данных и присваивания их переменной шаблона.
Пример 18-7. составной шаблон
function.load_ticker.php -
поместите файл в
директорию $plugins
<?php
// настраиваем нашу функцию для получения информации о ценных бумагах function fetch_ticker($symbol) { // здесь находится логика формирования $ticker_info // из какого-то источника return $ticker_info; }
function smarty_function_load_ticker($params, &$smarty) { // вызываем функцию $ticker_info = fetch_ticker($params['symbol']);
// присваиваем переменную шаблона $smarty->assign($params['assign'], $ticker_info); } ?>
|
index.tpl
{load_ticker symbol='SMARTY' assign='ticker'}
Stock Name: {$ticker.name} Stock Price: {$ticker.price} |
|
См. также
{include_php},
{include} и
{php}.