Smarty Template Engine 22.díl - Funkce VII.
V dnešním díle budeme pokračovat v popisu uživatelských funkcí, dostupných ve Smarty Template Engine.
eval
Přiřazuje do šablony proměnnou z setup.conf. Využití najdeme v nastavení proměnných z a do šablony a konfiguračního souboru.Proměnné takto přiřazené jsou na rozdíl od běžných proměnných kompilovány při každém načtení šablony.
- - var – název proměnné, v configu (nepovinný)
- - assign – přiřazení do nové proměnné v šabloně (nepovinný)
setup.conf
emphstart = <strong>
emphend = </strong>
title = Welcome to {$company}'s home page!
ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
ErrorState = You must supply a {#emphstart#}state{#emphend#}
index.tpl
{eval var=$foo}
{eval var=#title#}
{eval var=#ErrorCity#}
{eval var=#ErrorState# assign='state_error'}
{$state_error}
K proměnným přiřazeným z configuračního souboru se pak přistupuje pomocí klíčového slůvka eva a názvu proměnné mezi Křížky.
U posledního případu vidíme klasické přiřazení proměnné do šablony pomocí vlastního názvu. V takovém případě pak přistupujeme tak jak jsme zvyklí.
fetch
Tato funkce přiřazuje konkrétní systém z lokálního kořenového adresáře, odkazu na http, či ftp, a jeho zobrazení v šabloně. Tento příkaz se však chová v každém takovém konkrétním příkladě mírně odlišně.Parametry funkce
- file - složka, http, či ftp (povinný)
- assign – přiřazuje do nové konkrétní proměnné v šabloně(nepovinný)
Typ a chování v konkrétních případech (v parametru file)
- http – pokud parametr file začíná http://, konkrétní webová stránka se stáhne a zobrazí v šabloně
- ftp – pokud parametr file začína ftp://, konkrétní cílový soubor bude nabídnut ke stažení
- při přiřazení souboru z lokálního disku si dejte pouze pozor na souhlasící skupinu vlastníka a nastaveí práv
Zobrazení www stránky
index.tpl
{include file='./hlavicka.tpl' hlavicka='Smarty Template Engine'}
<p>
<strong>Zobrazí:</strong>
{fetch file=http://banan.cz}
</p>
{include file='./paticka.tpl'}
Zobrazení www stránky
Download souboru
idnex.tpl
{include file='./hlavicka.tpl' hlavicka='Smarty Template Engine'}
<p>
<strong>Zobrazí:</strong>
{fetch file=ftp://login:heslo@ftp.example.com/soubor.txt'}
</p>
{include file='./paticka.tpl'}
za login – přiřadíte login pro přihlašení na Vaše ftp
za heslo – password k Vašemu ftp účtu