Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Largest classified with thousands of ads at Shoppok

Buy cheap eyeglasses from Cheapglasses123.com and save up to 80%.

Buy prescription glasses from www.australiaglasses.com and save.

Cheap Glasses Now On Sale at GlassesPeople.com. Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Find Wedding Dresses Online at Canada from Ca-dresses.com

Find your local domestic cleaner

Brautkleider auf Topwedding.de

Find free files to download on allwhatyouwant.net

Looking For Affordable Wedding Dresses 2015 at Best Prices On TDBridal.com

Advertisement

Multiples caches por pagina

Usted puede tener multiples archivos de cache para una simples llamada de display() o fetch(). Vamos a decir que una llamada a display('index.tpl') debe tener varios contenidos de salida diferentes dependiendo de alguna condición, y usted quiere separar los caches para cada una. Usted puede hacer esto pasando un cache_id como un segundo parámetro en la llamada de la función.

Example 14.6. Pasando un cache_id para display()


<?php
require('Smarty.class.php');
$smarty = new Smarty;

$smarty->caching = true;

$my_cache_id = $_GET['article_id'];

$smarty->display('index.tpl',$my_cache_id);
?>

     

Arriba, nosotros pasamos la variable $my_cache_id a display() con el cache_id. Para cada valor unico de $my_cache_id, un cache por separado sera generado para cada index.tpl. En este ejemplo, "article_id" fue pasado en URL y es usado como el cache_id.

Nota Técnica

Tenga mucho cuidado cuando pase valores del cliente (web browser) dentro de Smarty (o alguna aplicación PHP). Aunque el ejemplo de arriba usar el article_id desde una URL parece facil, esto podría tener fatales consecuencias. El cache_id es usado para crear un directorio en el sistema de archivos, entonces si el usuario decide pasar un valor extremadamente largo para article_id, o escribir un script que envia article_ids aleatorios en un paso rápido, esto posiblemente podría causar problemas a nivel del servidor. Tenga la certeza de limpiar algún dato pasado antes de usarlo. En este ejemplo, tal vez usted sabia que el article_id tiene un largo de 10 caracteres este es constituido solamente de alfanuméricos, y debe ser un article_id valido en la base de datos. Verifique esto!

Asegurarse de pasar el mismo cache_id como el segundo parámetro para is_cached() y clear_cache().

Example 14.7. Pasando un cache_id para is_cached()


<?php
require('Smarty.class.php');
$smarty = new Smarty;

$smarty->caching = true;

$my_cache_id = $_GET['article_id'];

if(!$smarty->is_cached('index.tpl',$my_cache_id)) {
    // No cache available, do variable assignments here.
    $contents = get_database_contents();
    $smarty->assign($contents);
}

$smarty->display('index.tpl',$my_cache_id);
?>

     

Usted puede limpar todos los caches para un cache_id en particular pasando el primer parámetro null a clear_cache()..

Example 14.8.  Limpando todos los caches para un cache_id en particular


<?php
require('Smarty.class.php');
$smarty = new Smarty;

$smarty->caching = true;

// clear all caches with "sports" as the cache_id
$smarty->clear_cache(null,"sports");

$smarty->display('index.tpl',"sports");
?>

     

De esta manera, usted puede "agrupar" sus caches conjuntamente dando les el mismo cache_id.

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 6 plus 6? (Are you human?)

Advertisement

Sponsors [info]

UK Web Hosting @webhost.uk.net
Best Web Hosting @rshosting.com
Web Hosting UK @webhostinguk.com
Unlimited Web Hosting @infrenion.com
App Entwicklung @morphodo.com
First Click Internet Marketing @fcinternetmarketing.com
Credit Card Processing Company