Estou tentando obter detalhes do produto, incluindo o valor das opções personalizadas do produto, em um bloco personalizado que eu criei. Este é o código que eu usei na página de detalhes do produto e funcionou lá, mas ao tentar usá-lo na página de bloco personalizado, as opções retornam valor vazio.
if ($ _product-> getId ()) { foreach ($ _product-> getOptions () como $ opt) { echo $ optionType = $ opt-> getType (); if ($ optionType == 'drop_down') { $ valores = $ opt-> getValues (); foreach ($ valores como $ v) { $ mydata = $ v-> getTitle (); print_r ($ mydata); } } } }
Eu sou novo no magento, então não tenho certeza do que estou perdendo aqui.
Alguém pode me dar uma dica, por favor
Obrigado
magento-1.9
product
custom-options
custom-block
Shivika Sharma
fonte
fonte
Respostas:
Tente o seguinte:
fonte
O problema é que o produto não está totalmente carregado no seu bloco. O
load()
método garante que todas as informações de um objeto sejam carregadas. Se você usar apenasloadByAttribute()
uma coleção, esse não é o caso.Um exemplo seria:
$product = Mage::getModel('catalog/product')->load($productId);
Se você deseja exibir vários produtos, evite usá-
load()
los, pois isso tem um forte impacto negativo no desempenho. Lamentamos, mas não posso ajudá-lo a adicionar opções a uma coleção.fonte