#11
Re: Ne pas mettre en cache certaines pages
iLuc
Posté le : 22/09/2009 02:54
Citation :
Merci pour le lien. Pour faire simple, je suis en train de faire un petit hack qui aura pour objectif d'utiliser une variable session après la mise en cache des page, ainsi la balise titre et la balise description seront toujours affichés, Cool non ? Merci Mohamed pour l'info c'est cool. ![]() Si tu trouve solution, ça sera vraiment géniale. ![]() Je fait aussi des essais, mais rien de positif de mon côté.
#12
Re: Ne pas mettre en cache certaines pages
iLuc
Posté le : 22/09/2009 03:18
Une autre Documentation très intéressante.
Regarde en bas de cette page : http://www.smarty.net/manual/fr/caching.php Sympathiquement, iLuc ![]()
#13
Re: Ne pas mettre en cache certaines pages
Ankyo
Posté le : 22/09/2009 13:31
Bonjour,
Vraiment très intéressant. de ton coté ça donne quelque chose avec la fonction "insert" ? Moi je galère avec ![]()
#14
Re: Ne pas mettre en cache certaines pages
Ankyo
Posté le : 22/09/2009 21:16
Bonsoir,
Voici la monnaie de ta pièce cher iLuc ! ![]() Grâce à ton lien et un acharnement cervical ![]() Dans le template que vous voulez mettre en cache, mettez ceci :
<{* Début du code : Fonction pour les balises metta | Hack By Ankyo *}>
Une fois le template en cahce, Smarty va exécuter la fonction « get_pagetitle » qui se trouve dans le ficher php du template. Dans le fichier php, nous allons mettre une fonction qui aura pour objectif de récupérer le titre de la page et assigné tout cela à la class « $xoopsTpl » :
//---------------------------------------------------
Important : Cette fonction serra exécutée uniquement lorsque le template sera mis en cache, donc pensez à garder vos paramètre habituels pour les balises metagen, etc. Sachez également que ce qui se trouve en dessous du fichier header.php de Xoops ne serra pas récupéré par la fonction « get_pagetitle » et cela même avec des variables superglobal. Pour le contenu dynamique il est tout à fait possible d’exécuter une petite requête SQL dans la fonction « get_pagetitle » pour récupérer les titres et autres informations depuis la base de données. C’est ce que je fais pour mes modules. Une fois les modification appliquées, videz les dossiers des caches. Voila, j’espère que cela vous servira. Cordialement, Mohamed
#15
Re: Ne pas mettre en cache certaines pages et les titres de pages
iLuc
Posté le : 22/09/2009 22:28
Bonsoir Mohamed,
Excellent !!... je pense que ça va servir @ + d'un. Merci pour ce Hack. ![]()
#16
Re: Ne pas mettre en cache certaines pages et les titres de pages
iLuc
Posté le : 22/09/2009 23:43
re,..
Dit, tu est sur que ça fonctionne ?.... :-/ j'ai page Erreur : Citation : Error: Smarty error: [in db:classifieds_category.html line 2]: [plugin] could not load plugin file 'insert.get_pagetitle.php' (core.load_plugins.php, line 118) Et dans le fichier en cache : Citation : <?php /* Smarty version 2.6.22, created on 2009-09-22 23:28:55 il n'y a pas d'autres modifs à faire pour que ce Hack fonctionne ?... iLuc
#17
Re: Ne pas mettre en cache certaines pages et les titres de pages
Ankyo
Posté le : 22/09/2009 23:56
Le hach marche très bien chez moi, il manque la fonction "insert_get_pagetitle" dans le fichier category.php d'après l'erreur.
En fait dans les fichiers php, il faut ajouter le préfixe "insert_" à la fonction, j'ai lu ça dans la doc de smarty. Donc dans le fichier html il faut mettre "get_pagetitle" et dans le fichier php "insert_get_pagetitle" (la fonction) :
//---------------------------------------------------
Dans le fichier classifieds_category.html (même de la surcharge), il faut mettre :
<{* Début du code : Fonction pour les balises metta | Hack By Ankyo *}>
#18
Re: Ne pas mettre en cache certaines pages et les titres de pages
iLuc
Posté le : 23/09/2009 00:25
Citation :
Error: Smarty error: [in db:classifieds_category.html line 11]: [plugin] could not load plugin file 'insert.get_pagetitle.php' (core.load_plugins.php, line 118) j'ai recommencer, et fait comme tu a dit : premier code, dans la page : viewcat.php à l'endroit ou ce trouve : $xoopsTpl->assign('xoops_pagetitle' ... Et dans : classifieds_catergory.html ../modules/classifieds/templates/classifieds_catergory.html j'ai mis le deuxième code. Au premier affichage, la page s'affiche, avec le titre. Deuxieme affichage, message d'erreur... Je comprend pas, ce que ça viens faire là : "insert.get_pagetitle.php" Puisque c'est pas une page que l'on insert... get_pagetitle.php n'existe pas...
#19
Re: Ne pas mettre en cache certaines pages et les titres de pages
Ankyo
Posté le : 23/09/2009 00:57
C'est vraiment bizarre, normalement ces message d'erreur apparaissent lorsque fonction manque dans le fichier php.
Citation : Je comprend pas, ce que ça viens faire là : "insert.get_pagetitle.php" Ne tiens pas compte de ça, chez moi aussi j'avais ce truc lorsque il me manquais la fonction dans les fichiers php. à mon avis c'est smarty qui fait une simulation ou un truc comme ça. Tu peux poster le contenu complet des 2 fichiers pour que je jette un coup d'œil ?
#20
Re: Ne pas mettre en cache certaines pages et les titres de pages
Ankyo
Posté le : 23/09/2009 01:27
Autre info : si le fichier template "classifieds_catergory.html" est appelé par un autre fichier template via "include" cela provoque cette erreur. il faut mettre la fonction dans le deuxième fichier php aussi, que tu peux modifier à ton gout bien sur
![]() Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513
112 Personne(s) en ligne (77 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 112 | Plus ...
112 Personne(s) en ligne (77 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 112 | Plus ...