Mettre en cache une valeur qui est basée sur les paramètres de configuration et fiscaux

magento.stackexchange https://magento.stackexchange.com/questions/552

  •  16-10-2019
  •  | 
  •  

Question

Je calcule une valeur qui est basée sur les paramètres de configuration et sur les taux d'imposition.

Comment puis-je mettre en cache une manière qu'il est effacé automatiquement lorsque l'un de ces infos changements?

Est-ce que tout cela en utilisant les balises droite, puis être effacé automatiquement?

Était-ce utile?

La solution

Pour la partie de configuration, vous pouvez ajouter la balise de cache de configuration lors de l'enregistrement du produit:

Mage::app()->saveCache($data, $id, array(
    Mage_Core_Model_Config::CACHE_TAG
), $lifeTime=false);

qui supprimera votre élément mis en cache chaque fois que cette balise est effacé.

Malheureusement, cela ne couvre pas les paramètres fiscaux et il n'y a pas d'étiquette spécifique d'impôt. vous pouvez plutôt créer votre propre étiquette de cache (MY_TAX_CACHE_TAG).

Mage::app()->saveCache($data, $id, array(
    Mage_Core_Model_Config::CACHE_TAG,
    'MY_TAX_CACHE_TAG'
), $lifeTime=false);

vous auriez plus besoin de créer un observateur sur tax_settings_change_after.

class Observer
{
    public function taxSettingsChangeAfter($observer)
    {
        Mage::app()->cleanCache('MY_TAX_CACHE_TAG');
    }   
}

Autres conseils

Ceci est une stratégie pour sauver un élément à cache, et expirant après un certain temps (dans cet exemple 10800 secondes ou 3 heures).

$mydataforcache = "My data for cache";
$cache_name = "mycachename";
$CACHEDATA = MAGE::app()->loadCache($cache_name);
if (isset($CACHEDATA) && ($CACHEDATA != "")){
// Use data
echo $CACHEDATA;
} else {
// Save data to cache
Mage::app()->saveCache($mydataforcache, $cache_name, array(), 10800);
}

source : http: // www.g31zone.com/?tag=magento-save-data-to-cache

Pour effacer cette valeur spécifique du cache:

 To remove individual values from the cache, we use:

 $cache->remove("mycachename");

source : http: // www. nicksays.co.uk/developers-guide-magento-cache/

Voir aussi: http://alanstorm.com/magento_config_a_critique_and_caching

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top