Vider le cache du frontend depuis le backend
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.
Code:
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);
} |
Et dans le fichier factories.yml dans le dossier frontend/config/ j'ai rajouté:
Code:
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 |
Normalement la ligne $result = $cache->removePattern('news/index'); devrait retourner true si tout va bien, mais elle me renvoie false à chaque fois...
J'ai trouvé les informations par-ci par-là, ici principalement.
Si vous avez une idée, je suis preneur!