depmod

  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    2
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
depmod
le 14/03/2007 à 08:19
Le cache dans smarty
Bonjour à tous !

J'ai un problème avec smarty.
J'affiche plusieurs informations sur une page d'un site, mais je souhaiterai que seul le div "contenu" ne soit mis en cache.

Si j'utilise
<?php $smarty->cache_lifetime = 60; ?>
, c'est toute la page qui est mise en cache, et non pas uniquement le div "contenu" (ce qui est normal me direz-vous).

Voilà mon index.tpl :
index.tpl
{include file="header.tpl"}
{include file="menu.tpl"}
<div id="espace_membre">
{if $connection == TRUE}
Bienvenue <strong>{$pseudo}</strong> ! Dernière connexion : {$derniereConnexion}. <a href="{$urlSite}/deconnexion/" {$toolTip} title="Se déconnecter">Déconnexion</a> ?
{else}
Bienvenue invité, veuillez vous <a href="{$urlSite}/connexion/">connecter</a>.
{/if}
</div>

<div id="date">
Nous sommes le {$date}. Date CSM : {$dateCSM}.
</div>

<div id="chat">
{$chat}
{if $connection == TRUE}
<form method="post" action=""><input id="input_chat" type="text" name="chatContenu" maxlength="128" value="Message..." onfocus="if(this.value == 'Message...') this.value=''" /> .:. <input id="submit" type="submit" value="Envoi" /></form>
{else}
<p>Vous devez être connecté pour poster sur le chat !</p>
{/if}

</div>

<div id="contenu">
{if isset($validation) AND $validation == "erreur"}
<div id="erreur">{$erreur}</div>
<script>
$morphColor('erreur', '#FF0000', '#000000', '#F7E4E4', '#E1E1E1', '#FF0000', '#CCCCCC', 2000);
</script>
{/if}
{if isset($validation) AND $validation == "valide"}
<div id="valide">{$valide}</div>
<script>
$morphColor('valide', '#368F05', '#000000', '#EEFCEA', '#E1E1E1', '#368F05', '#CCCCCC', 2000);
</script>
{/if}
{$contenu}
</div>
{include file="footer.tpl"}


et voilà mon index.php :
index.php
<?php
//////// CLASSES ///////
require './classes/smarty/Smarty.class.php';
require './classes/sql.class.php';

//////// INITIALISATION ///////
$smarty = new Smarty;

$smarty->caching = 2;
$smarty->compile_check = TRUE;
$smarty->debugging = FALSE;

$smarty->template_dir = './2template/templates';
$smarty->compile_dir = './2template/templates_c';
$smarty->cache_dir = './2template/cache';
$smarty->config_dir = './2template/configs';

$db = new sql($_CONFIG['hote'], $_CONFIG['utilisateur'], $_CONFIG['motDePasse'], $_CONFIG['base']);

session_start();

// [...]
$contenu = 'kikoo ;)';
$smarty->assign('contenu', $contenu);

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

//////// FERMETURE ///////
$db->sql_close();



Comment faire, dans mon cas, pour que seul le div "contenu" ne soit mis en cache ? Merci beaucoup ;)

PS : je précise, à tout hasard, qu'en réalité, j'utilise un système d'includes.

Ses derniers messages sur les forums

forum
depmod
le 14/03/2007 à 08:19
Le cache dans smarty
Bonjour à tous !

J'ai un problème avec smarty.
J'affiche plusieurs informations sur une page d'un site, mais je souhaiterai que seul le div "contenu" ne soit mis en cache.

Si j'utilise
<?php $smarty->cache_lifetime = 60; ?>
, c'est toute la page qui est mise en cache, et non pas uniquement le div "contenu" (ce qui est normal me direz-vous).

Voilà mon index.tpl :
index.tpl
{include file="header.tpl"}
{include file="menu.tpl"}
<div id="espace_membre">
{if $connection == TRUE}
Bienvenue <strong>{$pseudo}</strong> ! Dernière connexion : {$derniereConnexion}. <a href="{$urlSite}/deconnexion/" {$toolTip} title="Se déconnecter">Déconnexion</a> ?
{else}
Bienvenue invité, veuillez vous <a href="{$urlSite}/connexion/">connecter</a>.
{/if}
</div>

<div id="date">
Nous sommes le {$date}. Date CSM : {$dateCSM}.
</div>

<div id="chat">
{$chat}
{if $connection == TRUE}
<form method="post" action=""><input id="input_chat" type="text" name="chatContenu" maxlength="128" value="Message..." onfocus="if(this.value == 'Message...') this.value=''" /> .:. <input id="submit" type="submit" value="Envoi" /></form>
{else}
<p>Vous devez être connecté pour poster sur le chat !</p>
{/if}

</div>

<div id="contenu">
{if isset($validation) AND $validation == "erreur"}
<div id="erreur">{$erreur}</div>
<script>
$morphColor('erreur', '#FF0000', '#000000', '#F7E4E4', '#E1E1E1', '#FF0000', '#CCCCCC', 2000);
</script>
{/if}
{if isset($validation) AND $validation == "valide"}
<div id="valide">{$valide}</div>
<script>
$morphColor('valide', '#368F05', '#000000', '#EEFCEA', '#E1E1E1', '#368F05', '#CCCCCC', 2000);
</script>
{/if}
{$contenu}
</div>
{include file="footer.tpl"}


et voilà mon index.php :
index.php
<?php
//////// CLASSES ///////
require './classes/smarty/Smarty.class.php';
require './classes/sql.class.php';

//////// INITIALISATION ///////
$smarty = new Smarty;

$smarty->caching = 2;
$smarty->compile_check = TRUE;
$smarty->debugging = FALSE;

$smarty->template_dir = './2template/templates';
$smarty->compile_dir = './2template/templates_c';
$smarty->cache_dir = './2template/cache';
$smarty->config_dir = './2template/configs';

$db = new sql($_CONFIG['hote'], $_CONFIG['utilisateur'], $_CONFIG['motDePasse'], $_CONFIG['base']);

session_start();

// [...]
$contenu = 'kikoo ;)';
$smarty->assign('contenu', $contenu);

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

//////// FERMETURE ///////
$db->sql_close();



Comment faire, dans mon cas, pour que seul le div "contenu" ne soit mis en cache ? Merci beaucoup ;)

PS : je précise, à tout hasard, qu'en réalité, j'utilise un système d'includes.

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours