Fork me on GitHub




« 1 (2) 3 »


Re: Ne pas mettre en cache certaines pages
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
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 ?

Mes premiers tests sont vraiment encouragent

Pour le titre ça se passe dans le fichier :
class/theme.php, ligne 200

Cordialement,
Mohamed


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é.

Posté le : 22/09/2009 02:54
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
Une autre Documentation très intéressante.

Regarde en bas de cette page : http://www.smarty.net/manual/fr/caching.php

Sympathiquement,

iLuc

Posté le : 22/09/2009 03:18
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Bonjour,

Vraiment très intéressant. de ton coté ça donne quelque chose avec la fonction "insert" ? Moi je galère avec

Posté le : 22/09/2009 13:31

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Bonsoir,

Voici la monnaie de ta pièce cher iLuc !

Grâce à ton lien et un acharnement cervical , j’ai trouvé la solution pour ce maudit problème qui existe sous beaucoup de modules.

Dans le template que vous voulez mettre en cache, mettez ceci :

<{* Début du code Fonction pour les balises metta Hack By Ankyo *}>
<{
insert name="get_pagetitle"}>
<{* 
Fin 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 » :

//---------------------------------------------------
// Début du code : Function get_pagetitle | Hack By Ankyo
function insert_get_pagetitle(){
    global 
$xoopsTpl;
    
$xoopsTpl->assign('xoops_pagetitle'"Mon joli titre ici");
}
// Paramètre par défaut. Affiché lorsque le cache est désactivé
$xoopsTpl->assign('xoops_pagetitle'"Mon joli titre ici");
// Fin du code : Function get_pagetitle | Hack By Ankyo
//----------------------------------------------------

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

Posté le : 22/09/2009 21:16

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages et les titres de pages
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
Bonsoir Mohamed,

Excellent !!... je pense que ça va servir @ + d'un.

Merci pour ce Hack.

Posté le : 22/09/2009 22:28
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages et les titres de pages
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
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
compiled from db:classifieds_category.html */ ?>
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
smarty_core_load_plugins(array('plugins' => array(array('insert', 'get_pagetitle', 'db:classifieds_category.html', 2, false),array('function', 'cycle', 'db:classifieds_category.html', 186, false),)), $this); ?>
<?php require_once(SMARTY_CORE_DIR . 'core.run_insert_handler.php');
echo smarty_core_run_insert_handler(array('args' => array('name' => 'get_pagetitle')), $this); ?>


il n'y a pas d'autres modifs à faire pour que ce Hack fonctionne ?...

iLuc

Posté le : 22/09/2009 23:43
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages et les titres de pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
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) :
//---------------------------------------------------
// Début du code : Function get_pagetitle | Hack By Ankyo
function insert_get_pagetitle(){
    global 
$xoopsTpl;
    
$xoopsTpl->assign('xoops_pagetitle'"Mon joli titre ici");
}
// Paramètre par défaut. Affiché lorsque le cache est désactivé
$xoopsTpl->assign('xoops_pagetitle'"Mon joli titre ici");
// Fin du code : Function get_pagetitle | Hack By Ankyo
//----------------------------------------------------


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 *}>
<{
insert name="get_pagetitle"}>
<{* 
Fin du code Fonction pour les balises metta Hack By Ankyo *}>

Posté le : 22/09/2009 23:56

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages et les titres de pages
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
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...

Posté le : 23/09/2009 00:25
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages et les titres de pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
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"
Puisque c'est pas une page que l'on insert...

get_pagetitle.php n'existe pas...


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 ?

Posté le : 23/09/2009 00:57

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages et les titres de pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
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 .

Posté le : 23/09/2009 01:27

Développeur web.
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2) 3 »



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

61 Personne(s) en ligne (51 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 61 | Plus ...