Smarty Template

14
Smarty Template Introduction Musavir Iftekhar

description

Summary of smarty usage and functions

Transcript of Smarty Template

Page 1: Smarty Template

Smarty Template

Introduction

Musavir Iftekhar

Page 2: Smarty Template

Installation

• Download form site.. www.smarty.net/

• Unzip and put smarty directory under your home directory

Page 3: Smarty Template

Using• Better to create your own folders of templates else using default.

<?phpdefine('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;?>

Page 4: Smarty Template

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

Page 5: Smarty Template

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

Page 6: Smarty Template

Control Structures

{if $var qualifier comprator}

Output

{elseif $var qualifier comprator}

Output

{else}

Output

{/if}

Page 7: Smarty Template

$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}

Page 8: Smarty Template

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

Page 9: Smarty Template

$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

Page 10: Smarty Template

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

Page 11: Smarty Template

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”}

Page 12: Smarty Template

Insert

• Insert some advertisement page

function insert_banner(){

}------------------tpl file-----------------------------

<img src=“imgs/{insert name=“banner”}.gif”/>

Page 13: Smarty Template

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” />

Page 14: Smarty Template

Caches

$smarty->caching = 1