Lors de la création d'un ajout à une boutique en ligne Magento, je suis tombé sur quelques problèmes. Dans ma quête pour créer un code aussi rapide que possible, je me suis retrouvé incapable de comprendre deux choses.
Mon code (pertinent) est le suivant:
$rc = Mage::getResourceSingleton('catalog/product');
$productName = $rc->getAttributeRawValue($productId, 'name', Mage::app()->getStore());
$productPrice = $rc->getAttributeRawValue($productId, 'price', Mage::app()->getStore());
$productImage = $rc->getAttributeRawValue($productId, 'image', Mage::app()->getStore());
$productUrl = $rc->getAttributeRawValue($productId, 'url_key', Mage::app()->getStore());
Les deux choses que je ne peux pas comprendre sont:
1) Comment récupérer l'URL du produit? url_key
ne donne pas toujours la bonne URL, car tous les webshops n'utilisent pas d'URL canoniques, ou n'ont pas la catégorie dans l'URL.
2) Comment puis-je obtenir l'image du produit avec une largeur / hauteur définie, au lieu de l'image complète? La ->resize()
fonction ne fonctionne pas dans ce cas je recon (car elle retourne une URL). De plus, est-il possible d'obtenir le Base Image
, Small Image
et Thumbnail
séparément?
Mon objectif principal est de garder le code aussi vite que possible. Je n'ai qu'un identifiant de produit, car je parcourt les enfants d'un produit. Je ne souhaite pas l'utiliser ->load()
car cela prend beaucoup plus de temps de chargement.
small_image
. Il semble que les petites images soient toutes redimensionnées et ne sélectionne pas la variante redimensionnée. Une idée de comment résoudre ça? Et avez-vous également une solution pour l'URL du produit?