J'essaie d'obtenir les détails du produit, y compris la valeur des options personnalisées du produit dans un bloc personnalisé que j'ai créé.C'est le code que j'ai utilisé sur la page de détail du produit et cela a fonctionné là-bas, mais lorsque j'essaie de l'utiliser sur la page de blocage personnalisée, get Options renvoie une valeur vide.
if ($ _product-> getId ()) { foreach ($ _product-> getOptions () as $ opt) { echo $ optionType = $ opt-> getType (); if ($ optionType == 'drop_down') { $ values = $ opt-> getValues (); foreach ($ valeurs comme $ v) { $ mydata = $ v-> getTitle (); print_r ($ mydata); } } } }
Je suis nouveau sur magento, donc je ne sais pas ce que je manque ici.
Quelqu'un peut-il me donner un indice s'il vous plaît
Merci
magento-1.9
product
custom-options
custom-block
Shivika Sharma
la source
la source
Réponses:
Essaye ça:
la source
Le problème est que le produit n'est pas complètement chargé dans votre bloc. La
load()
méthode s'assure que toutes les informations d'un objet sont chargées. Si vous utilisez uniquementloadByAttribute()
ou une collection, ce n'est pas le cas.Un exemple serait:
$product = Mage::getModel('catalog/product')->load($productId);
Si vous souhaitez afficher plusieurs produits, vous devez éviter de les utiliser,
load()
car cela a un fort impact négatif sur les performances. Désolé, je ne peux pas vous aider à ajouter des options à une collection.la source