scénario est ici d'être appelé par ajax:Comment puis-je mettre en cache les images que je tire d'une base de données magento via ajax?
<?php
require_once '../app/Mage.php';
umask(0);
/* not Mage::run(); */
Mage::app('default');
$cat_id = ($_POST['cat_id']) ? $_POST['cat_id'] : NULL;
try {
$category = new Mage_Catalog_Model_Category();
$category->load($cat_id);
$collection = $category->getProductCollection();
$output = '<ul>';
foreach ($collection as $product) {
$cProduct = Mage::getModel('catalog/product');
$cProduct->load($product->getId());
$output .= '<li><img id="'.$product->getId().'" src="' . (string)Mage::helper('catalog/image')->init($cProduct, 'small_image')->resize(75) . '" class="thumb" /></li>';
}
$output .= '</ul>';
echo $output;
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
Je ne fais que passer dans l'ID de catégorie, que je suis cloué sur les liens de navigation, puis en faisant un peu de travail pour finalement juste passer de toutes les images de produits dans ce Catégorie. J'utilise ceci sur un glisser-déposer d'une application de type build-a-bracelet, et la quantité d'images retournées est parfois dans les 500s. Donc, il est assez bloqué pendant la transmission, parfois 10 secondes ou plus.
Je sais que je ferais du bien en les mettant en cache d'une manière ou d'une autre, mais je ne sais pas comment s'y prendre. Toute aide est très appréciée.
Merci.
-Wes