Comment obtenir une sélection des options personnalisées
-
16-10-2019 - |
Question
J'ai le code suivant. L'inconvénient du code est-il obtient toutes les options personnalisées pour un produit alors que je veux que les options qui sont sélectionnées par le client sur la page du produit.
$items = $order->getAllItems();
foreach ($items as $item) {
$product = Mage::getModel('catalog/product');
$prodSku = $item->getSku();
$productId = $product->getIdBySku($prodSku);
$product->load($productId);
$product = $item->getProduct();
$productId = $item->getItemId();
$options = $product->getOptions();
foreach($options as $_option) {
echo $_option->getTitle();
}
}
La solution
Vous pouvez essayer de reproduire la façon dont montre Magento les options de la page d'affichage de la commande.
Ici va:
$items = $order->getAllItems();
//or you can use $order->getAllVisibleItems();
//create an instance of the item renderer block.
$block = Mage::app()->getLayout()->createBlock('sales/order_item_renderer_default');
foreach ($items as $item) {
//attach the item to the block
$block->setItem($item);
//get the options
$_options = $block->getItemOptions();
foreach ($_options as $option) {
$label = $option['label'];
$textValue = $option['print_value'];
//do something with $label and $textValue
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange