Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Smarty Template

Introduction

Musavir Iftekhar
Installation
• Download form site.. www.smarty.net/
• Unzip and put smarty directory under your
home directory
Using
• Better to create your own folders of templates else using default.
<?php
define('SMARTY_DIR', 'smarty/' );
require_once(SMARTY_DIR . 'Smarty.class.php');

$smarty = new Smarty();


$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates/compile/';
$smarty->cache_dir = './templates/cache/';
$smarty->caching = false;
?>
Common syntax
$val = “some value”;
$smarty->assign(“smarty_sending_var”, $val);
$smarty->display(“page.tpl”);//page in template folder
-------------------------------------------------------
Page.tpl
{* these are comments of smarty *}
{$smarty_sending_var} // will show contents of sending values from the page
Variable Modifiers
{$var|modifier}
{$title|capitalize} output: MYTITLE
{$title|count_words} output: 55
{$dt, “%B %e, %Y”} output: December 22, 2005
{$title|default:”some val”} output: if $title =
null then some val
{$title|strip_tags} output: remove html tags from string
{$title|truncate:20} output: show reduce to 20 characters
Control Structures
{if $var qualifier comprator}
Output
{elseif $var qualifier comprator}
Output
{else}
Output
{/if}
$my_array = array(‘val1’, ‘val2’, ‘val3’);
$smarty->assign(“array_val”, $my_array);

Handle in into template as


{foreach from=$my_array item=valout}
{$valout}
{/foreach}
If no value in array.. then
{foreach from=$my_array item=valout}
{$valout}
{foreachesles}
Output here
{/foreach}
Section
$titles = arrray(‘a’, ‘b’, ‘c’);
$smarty->assign(“titles”, $titles);
$smarty->display(“titles.tpl”);
--------------------titles.tpl--------------------
{section name=book loop=$titles}
{$titles[book]}
{/section}
Output:abc
$titles = arrray(‘title’=>’Eng’,
‘author’=>’Master’, ‘pub’=>’apex’);
$smarty->assign(“titles”, $titles);
$smarty->display(“titles.tpl”);
--------------------titles.tpl--------------------
{section name=book loop=$titles}
{$titles[book].title}
{$titles[book].author}
{$titles[book].pub}
{/section}
Output:Eng Master apex
sectionelse
$titles = arrray(‘a’, ‘b’, ‘c’);
$smarty->assign(“titles”, $titles);
$smarty->display(“titles.tpl”);
--------------------titles.tpl--------------------
{section name=book loop=$titles}
{$titles[book]}
{sectionelse}
Output: if array = null
{/section}
Output:abc
Include
{include file=“/usr/local/lib/pmnp/header.tpl”}
{* Execute some other Smarty statements
here. *}
{include file=“/usr/local/temps/footer.tpl”}
{include file=“/local/header.tpl” title=“My
home page”}
Insert
• Insert some advertisement page
function insert_banner(){
}
------------------tpl file-----------------------------
<img src=“imgs/{insert name=“banner”}.gif”/>
CSS with literal tag
Insert css into tpl file directly
<html><head>
{literal}<style type=“text/css”>
P{Margin: 5px;}
</style>
{/literal}
</head>
User Link to connect with outer css file
<link style=“text/css” href=“mycss.css” />
Caches
$smarty->caching = 1

You might also like