What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
По традиции, программирование шаблонов в вашем приложении идёт следующим путём: Сначала вы формируете переменные внутри вашего приложения PHP (возможно, используя запросы к базе данных). Затем вы создаёте экземпляр объекта Smarty, назначаете переменные и отображаете шаблон. Давайте представим себе такую ситуацию: К примеру, у нас есть котировщик ценных бумаг в нашем шаблоне. Мы собираем данные о котировках ценных бумаг в нашем приложении, затем передаём эти переменные в шаблон и отображаем его. Правда, было бы здорово, если бы этот котировщик можно было перенести в другое приложение, просто подключив к нему шаблон, не беспокоясь об источнике данных.
Вы можете сделать это, написав собственное расширение для получения данных и присваивания их переменной шаблона.
Example 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}
.