web-dev-qa-db-fra.com

Puis-je définir le répertoire dans lequel Joomla mettra en cache les données de mon module?

Joomla a une jolie page "Clear Cache" qui répertorie le contenu mis en cache et vous permet de le supprimer.

J'aimerais autoriser la suppression du contenu mis en cache de mon module. J'utilise les méthodes de cache intégrées de Joomla pour mettre en cache des données:

$cache = JFactory::getCache();
$cache->setCaching( 1 );
$result = $cache->call('function', $data);

Les fichiers générés par ce code sont stockés dans/cache. Par exemple:

List of files in the cache directory. There are several small php cache files with gibberish names, and a folder called "banners"

Le dossier de/cache/banners est l'endroit où je souhaite que les fichiers de cache soient stockés. En effet, dans la page "Effacer le cache", seuls les sous-répertoires semblent clairs:

Joomla's "Clear Cache" page. There is only one selectable entry, "banners"

J'ai jeté un œil à travers l'API de Joomla , mais je ne vois aucune méthode évidente pour définir le répertoire de cache. Je vois certaines méthodes mentionner des choses comme "groupes de cache", qui semblent proches. Suis-je sur la bonne voie?

1
Obscerno

Le groupe de cache est ce qui doit être défini, quel que soit le réglage que vous définissez lors de la construction de l'objet de cache. Il suffit de changer ceci:

$cache = JFactory::getCache();

... pour ça:

$cache = JFactory::getCache('banners');

Il y a plus d'informations sur les paramètres qui peuvent être passés dans l'API de l'usine de Joomla .

1
Obscerno