с помощью закрывающей фигурной скобки
{TITLE} {AUTH20} {TOP_OF_PAGE} |
Пример 15.1. Вычисление переменной с помощью закрывающей фигурной скобки "}" |
Закрыть окно |
$tpl->define( array (main => "main.tpl", list_f => "list.tpl", list_el=> "list_element.tpl" )); |
Пример 15.2. Использование метода define() |
Закрыть окно |
$tpl->assign(array( TITLE => "Установка и настройка ПО", TITLE => "Введение в PHP" )); |
Пример 15.3. Использование метода assign() |
Закрыть окно |
$tpl->FastPrint(); /* если продолжать предыдущий пример, то эта функция напечатает значение переменной MAIN */ $tpl->FastPrint("MAIN"); // эта функция сделает тоже самое |
Пример 15.4. Использование метода FastPrint() |
Закрыть окно |
# глобальные переменные pageTitle = "List of documents" bodyBgColor = #000000 tableBgColor = #000000 rowBgColor = #00ff00 [Customer] pageTitle = "Список статей" Intro = """ Это значение состоит из нескольких строк. Поэтому его нужно заключить в тройные кавычки.""" # скрытая секция [.Database] host=localhost db=book user=nina pass=123 |
Пример 15.5. Пример конфигурационного файла |
Закрыть окно |
<?php // передаем пары имя/значение для // переменной Name и // Address в отдельности $smarty->assign("Name","Вася"); $smarty->assign("Address",$addr); // здесь $addr может быть и массивом // передаем ассоциативный массив $smarty->assign(array( "city" => "Новосибирск", "street" => "Пирогова")); // таким образом, переменные city и street // получат соответствующие значения ?> |
Пример 15.6. Использование метода assign() |
Закрыть окно |
$smarty->append(array( title => $title, author => $author)) |
Пример 15.7. Использование метода append() |
Закрыть окно |
{section name=art loop=$title} Название: {$title[art]}<br> {/section} |
Пример 15.8. Цикл для обхода элементов массива |
Закрыть окно |
{foreach from=$articles item=art} Title: {$art}<br> {/foreach} |
Пример 15.9. Цикл foreach |
Закрыть окно |
{if $name eq "Вася"} Добро пожаловать, Вася. {elseif $name eq "Петя"} Добро пожаловать, Петя. {else} Добро пожаловать. А вы кто? {/if} |
Пример 15.10. Операторы if, elseif, else |
Закрыть окно |
{* этот пример не будет работать, поскольку не поставлены пробелы вокруг операторов сравнения *} {if $name=="Вася" || $name=="Петя"} ... {/if} |
Пример 15.11. Неработающий пример |
Закрыть окно |
<? define("SMARTY_DIR","c:/users/nina/Smarty/libs/"); require(SMARTY_DIR."Smarty.class.php"); $smarty = new Smarty; $smarty->template_dir = "c:/smarty_dirs/book/templates/"; $smarty->compile_dir = "c:/smarty_dirs/book/templates_c/"; $smarty->config_dir = "c:/smarty_dirs/book/configs/"; $smarty->cache_dir = "c:/smarty_dirs/book/cache/"; // вышеприведенный блок лучше вынести в отдельный файл $smarty->config_load("task.conf","Database"); $host = $smarty->get_config_vars("host"); $user = $smarty->get_config_vars("user"); $pass = $smarty->get_config_vars("pass"); $db = $smarty->get_config_vars("db"); $conn = mysql_connect($host, $user, $pass) or die("Cant connect"); mysql_select_db($db); $sql = "SELECT * FROM Articles"; $q = mysql_query($sql,$conn); $num = mysql_num_rows($q); for($i=0; $i<$num; $i++){ $title = mysql_result($q,$i,"title"); $author = mysql_result($q,$i,"author"); $abs = mysql_result($q,$i,"abstract"); $full = mysql_result($q,$i,"fulltext"); $smarty->append(array( title => $title, author => $author, abstract => $abs, fulltext => $full )); } $smarty->display("index.tpl"); ?> |
Листинг 15.12. index.php |
Закрыть окно |