Problème de cache
Erreur fatale : Cache -> Le module formulaire n'a pas de fonction de cac
Support Général
Cybermage Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Cybermage
- Inscrit le : 07/09/2008
- Site internet
Je désire faire un formulaire qui s’enverra par courriel à l’admin donc comme Contact mais avec plus de questions.
J’ai copié tous les fichiers de contact dans un nouveau répertoire « formulaire »
J’ai ouvert chaque fichier et renommé « contact » par « formulaire » en mettant les même casses (minuscule et majuscules).
J’ai installé mon nouveau module.
J’ai l’intention d’ajouter les champs supplémentaires lorsque mon formulaire fonctionnera de façon identique à Contact.
Lorsque que j’y accède, j’ai une erreur de cache.
Erreur fatale : Cache -> Le module formulaire n'a pas de fonction de cache!
Ligne 157 : cache.class.php
J’ai lu la doc à ce sujet et ce que je ne comprends pas :
•Même si je mets cache=0 dans config.ini de mon module (dans formulaire/lang/french) j’ai la même erreur. Je n’ai pas besoin de cache pour ce module !
•J’ai remis cache=1 et j’ai créé un fichier formulaire_cache.php tel que suggéré (http://www.phpboost.com/wiki/classe-cache-exemple-d-utilisation) mais ça ne change rien (j’ai laissé seulement id_parent comme variable).
oJe ne trouve ce fichier dans aucun autre module ! Pourquoi n’existe-t-il pas s’il est nécessaire ?
J’ai désinstallé puis réinstallé mon module
J’ai regénéré la cache à partir du menu d’admin
Rien à faire…
Pouvez-vous m’indiquer la voie à suivre ?
Merci
Sylvain
Sylvain
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Supprimes la fonction get_cache() dans le fichier formulaire_interface.class.php.
Repasses cache=0 dans formulaire/lang/french/config.ini
D'ailleurs si tu n'utilises pas le cache ni la recherche tu ne devrais pas avoir besoin de ce fichier.
julienseth78
Cybermage Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Cybermage
- Inscrit le : 07/09/2008
- Site internet
J'ai vérifié d'autres fichiesr pour voir si je pouvais enlever toute référence à la cache.
J'ai trouvé la ligne suivante dans admin_formulaire:
###### Régénération du cache des news #######
$Cache->Generate_module_file('formulaire');
J'ai commenté la ligne mais ça ne change rien.
J'ai supprimé le fichier formulaire_cache.
J'ai désinstallé le module puis réinstallé après chacun de ces changements, rien.
C'est surement un détail que je ne vois pas !
Merci !
Sylvain
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
(Avec la ligne et le fichier concerné).
Cybermage Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Cybermage
- Inscrit le : 07/09/2008
- Site internet
Toujours la même erreur que dans mon premier message ci-haut:
Erreur fatale : Cache -> Le module formulaire n'a pas de fonction de cache!
Ligne 157 : cache.class.php
Le fichier cache.class.php est celui qui se trouve dans PhPBoost (V3) sous "kernel/framework/core"
Voici la fonction en erreur:
143 function generate_module_file($module_name,$no_alert_on_error=false)
144 {
145 global $Errorh;
146
147 import('modules/modules_discovery_service');
148 $modulesLoader=new ModulesDiscoveryService();
149 $module=$modulesLoader->get_module($module_name);
150
151 if((!$module->get_errors()|| $module->got_error(ACCES_DENIED))&&$module->has_functionality('get_cache'))
152 {
153 $this->write($module_name,$module->functionality('get_cache'));
154 }
155 elseif(!$no_alert_on_error)
156 {
157 $Errorh->handler('Cache -> Le module '.$module_name.' n'a pas de fonction de cache!',E_USER_ERROR,__LINE__,__FILE__);
158 }
159 }
J'ai modifé légèrement le code pour voir l'erreur et je constate que "$module->get_errors()" retourne 4 donc: MODULE_NOT_YET_IMPLEMENTED !
Que me manque-t-il pour qu'il soit implémenté ?
Dans modules_discovery_service.class, la ligne suivante retourne faux:
if(in_array($module_id,$this->availables_modules))
Il y a une liste de modules available quelque part ?
Comment mettre mon module dans cette liste ?
Oui, mon module est activé !
Merci !
Sylvain
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Tu dois encore avoir un appel de cette fonction quelque part.
Dans le cas échéant, fournis moi une archive du module en question.
ReidLos
Cybermage Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Cybermage
- Inscrit le : 07/09/2008
- Site internet
Je ne trouve cette fonction nulle part dans les fichiers de mon module.
Je vous rappel que j'ai copié le module "Contact".
Comment peut-il fonctionner et le miens non ?
Merci
Sylvain
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique
Peux-tu nous transmettre ton module copier. A partir de la nous pourrons regarder ce qui ne vas pas.
Merci d'avance.
ElenWii
Cybermage Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Cybermage
- Inscrit le : 07/09/2008
- Site internet
J'ai zipper le répertoire dans un fichier "rar".
Il se trouve à l'adresse suivante:
http://www.guerisonhuguettestlouis.ca/guerison/upload/formulaire.rar
Le site sur lequel j'essais d'implémenter ce formulaire est sur ce site d'ailleur.
Menu: Formulaire
Merci !
Sylvain
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Dis moi si tu as toujours le message après l'avoir supprimé.
Cybermage Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Cybermage
- Inscrit le : 07/09/2008
- Site internet
J'ai un petit soucis avec le anti-bots (variable $CONFIG_FORMULAIRE not found) mais je l'ai commenté et tout fonctionne.
Merci beaucoup
Sylvain
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie