Usiłuję uzyskać szczegółowe informacje o produkcie, w tym wartość opcji niestandardowych produktu w utworzonym przeze mnie bloku niestandardowym. Jest to kod, którego użyłem na stronie szczegółów produktu i działał tam, ale gdy próbuję użyć go na stronie niestandardowego bloku, Opcje zwracają pustą wartość.
if ($ _product-> getId ()) { foreach ($ _product-> getOptions () jako $ opt) { echo $ optionType = $ opt-> getType (); if ($ optionType == 'drop_down') { $ wartości = $ opt-> getValues (); foreach (wartości $ jako $ v) { $ mydata = $ v-> getTitle (); print_r ($ mydata); } } } }
Jestem nowy w Magento, więc nie jestem pewien, co tu brakuje.
Czy ktoś może mi podpowiedzieć,
dziękuję
magento-1.9
product
custom-options
custom-block
Shivika Sharma
źródło
źródło
Odpowiedzi:
Spróbuj tego:
źródło
Problem polega na tym, że produkt nie jest w pełni załadowany w twoim bloku.
load()
Metoda zapewnia, że wszystkie informacje obiektu jest załadowany. Jeśli używasz tylkoloadByAttribute()
lub kolekcji, tak nie jest.Przykładem może być:
$product = Mage::getModel('catalog/product')->load($productId);
Jeśli chcesz wyświetlać wiele produktów, powinieneś unikać korzystania z nich,
load()
ponieważ ma to duży negatywny wpływ na wydajność. Przepraszam, że nie mogę pomóc w dodawaniu opcji do kolekcji.źródło