Template:Short description Template:About

{{#invoke:Infobox|infobox}}Template:Template other{{#invoke:Check for unknown parameters | check | showblankpositional=1 | unknown = Template:Main other | preview = Page using Template:Infobox software with unknown parameter "_VALUE_"|ignoreblank=y | AsOf | author | background | bodystyle | caption | collapsetext | collapsible | developer | discontinued | engine | engines | genre | included with | language | language count | language footnote | latest preview date | latest preview version | latest release date | latest release version | latest_preview_date | latest_preview_version | latest_release_date | latest_release_version | licence | license | logo | logo alt | logo caption | logo upright | logo size | logo title | logo_alt | logo_caption | logo_upright | logo_size | logo_title | middleware | module | name | operating system | operating_system | other_names | platform | programming language | programming_language | released | replaced_by | replaces | repo | screenshot | screenshot alt | screenshot upright | screenshot size | screenshot title | screenshot_alt | screenshot_upright | screenshot_size | screenshot_title | service_name | size | standard | title | ver layout | website | qid }}Template:Main other Smarty is a web template system written in PHP. Smarty is primarily promoted as a tool for separation of concerns.<ref name="Parr000">Template:Cite book</ref> Smarty is intended to simplify compartmentalization, allowing the front-end of a web page to change separately from its back-end. Ideally, this lowers costs and minimizes the efforts associated with software maintenance.

Smarty generates web content through the placement of special Smarty tags within a document. These tags are processed and substituted with other code. Tags are directives for Smarty that are enclosed by template delimiters. These directives can be variables, denoted by a dollar sign ($), functions, logical or loop statements. Smarty allows PHP programmers to define custom functions that can be accessed using Smarty tags.

Smarty exampleEdit

Since Smarty separates PHP from HTML, there are two files — one contains the presentation code: an HTML template, including Smarty variables and tags - <syntaxhighlight lang="smarty" inline>{$title_text|escape} {$body_html}</syntaxhighlight> - which might look like this: <syntaxhighlight lang="html+smarty"> <!DOCTYPE html> <html lang="en"> <head>

  <meta charset="utf-8">
  <title>{$title_text|escape}</title>

</head>

<body> {* This is a little comment that won't be visible in the HTML source *} {$body_html} </body> </html> </syntaxhighlight>

The business logic to use the Smarty template above could be as follows: <syntaxhighlight lang="php"> define('SMARTY_DIR', 'smarty-2.6.22/'); require_once(SMARTY_DIR . 'Smarty.class.php');

$smarty = new Smarty(); $smarty->template_dir = './templates/'; $smarty->compile_dir = './templates/compile/';

$smarty->assign('title_text', 'TITLE: This is the Smarty basic example ...');

$smarty->assign('body_html', '

BODY: This is the message set using assign()

');

$smarty->display('index.tpl'); </syntaxhighlight>

Further readingEdit

See alsoEdit

Template:Portal

ReferencesEdit

Template:Reflist

External linksEdit