Pracuję nad budową nowego sklepu Magento (jest to mój pierwszy z Magento).
Chcę odtworzyć wygląd istniejącego sklepu na moich stronach produktów, przynajmniej pod względem układu:
http://www.panamericantool.com/cobalt-drills/drill-stops.html
http://www.panamericantool.com/screw-driver-bits/paint-cutters.html
Doszedłem do wniosku, że muszę używać produktów zgrupowanych, z prostymi produktami, aby stworzyć coś, czego szukam.
W powyższych przykładach każdy produkt ma osobne atrybuty, zakładam, że są one realizowane za pomocą różnych zestawów atrybutów w Magento.
Jak jednak wyświetlają te różne nagłówki / wartości tabeli w motywie?
Wiem, że mogę to zrobić ->getAttributeName()
lub ->getAttribute('attribute_code')
w grouped.phtml
pliku, ale spowodowałoby to ogromną ilość if (->getAttributeName() != '')...
i musiałbym zmienić szablon, dodając więcej.
Jestem pewien, że istnieje sposób na uzyskanie wszystkich atrybutów i zapętlenie ich, ale w jaki sposób rozróżniłbyś powiedzmy meta_description
atrybut (zwrócony również przez $_product->getData()
metodę) i atrybut, który chciałbym umieścić w tabeli?
Jak mogę osiągnąć coś podobnego do tego, co mają?
Obawiam się również o wydajność, w której sklep będzie miał 5 tys. Produktów w chwili premiery, zwiększając się może do 25–30 tys. W miarę dodawania naszych pozostałych produktów. Wiele z nich będzie wymagało różnych atrybutów, ale zgaduję, że mógłbym dzielić atrybuty między zestawami atrybutów bez zbyt wielu problemów z wydajnością?
Aktualizacja:
Nadal się tym bawiłem, znalazłem to, aby uzyskać wszystkie atrybuty produktów, jednak nadal nie znam prostego sposobu wyświetlania niektórych wartości w tabeli zgrupowanych produktów?
$attributes = Mage::getModel('catalog/product_attribute_api')->items($_product->getAttributeSetId());
foreach($attributes as $_attribute){
print_r($_attribute);
}
Odpowiedzi:
To powinno być to, czego potrzebujesz:
źródło
Dlaczego nie stworzyć atrybutu, który mówi mu, jakie atrybuty pokazać?
W końcu stworzyłem moduł, który ładuje wartość dwóch atrybutów tekstowych dla zgrupowanych produktów, które są ciągami kodów atrybutów. Zasadniczo pomocnik, który wybucha ten ciąg listy atrybutów i zapętla się nad nim, aby załadować dane atrybutów powiązanych produktów.
Utwórz atrybut, który nazwałem mój:
grouped_attr_array
Dodaj atrybut do zestawu atrybutów projektu zgrupowanego produktu w adminie, a następnie jako pola oddzielone średnikami w danych produktu
torque_range;torque_increments;torque_accuracy
Wyciągnąłem ten kod z mojego modułu. Robi trochę więcej ładowania lub ukrywania domyślnych atrybutów w oparciu o wartość atrybutu, a moduł jest nieco bardziej złożony. Ale aby uzyskać dane przedstawione w tabeli, są to niektóre z podstawowych funkcji. Mam nadzieję, że daje to pomysł, na którym można dalej budować. To używa Magento 1.9.2
Pomocnik modułu:
Pobieranie danych z pomocnika w groupedproduct.phtml
TH's
TD to stół
Chciałbym ustalić sposób wyboru tego atrybutu w oparciu o dostępne atrybuty sklepu. Może jest też o wiele lepszy sposób na zrobienie tego. Jeszcze do tego nie dotarłem.
źródło