Bonjour,
Je cherche à mettre en place le fait de pouvoir vider le cache d'un module du frontend, lorsque l'on ajoute ou édite un élément dans le backend.
J'ai trouvé comment faire, je crois, mais rien ne passe.
Dans mon backend, je modifie la méthode processForm dans le fichier actions.class.php du module news.
Et dans le fichier factories.yml dans le dossier frontend/config/ j'ai rajouté:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function processForm(sfWebRequest $request, sfForm $form) { $frontend_cache_dir = sfConfig::get('sf_cache_dir').DIRECTORY_SEPARATOR.'frontend'. DIRECTORY_SEPARATOR.sfConfig::get('sf_environment').DIRECTORY_SEPARATOR.'template'; $cache = new sfFileCache(array('cache_dir' => $frontend_cache_dir)); // Use the same settings as the ones defined in the frontend factories.yml $result = $cache->removePattern('news/index'); parent::processForm($request, $form); }
Normalement la ligne $result = $cache->removePattern('news/index'); devrait retourner true si tout va bien, mais elle me renvoie false à chaque fois...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 view_cache: class: sfFileCache param: automatic_cleaning_factor: 0 cache_dir: %SF_TEMPLATE_CACHE_DIR% lifetime: 86400 prefix: %SF_APP_DIR%/template
J'ai trouvé les informations par-ci par-là, ici principalement.
Si vous avez une idée, je suis preneur!
Partager