Je travaille sur la construction d'une nouvelle boutique Magento (c'est ma première avec Magento).
Je cherche à reproduire l'apparence d'une boutique existante pour mes pages produits, au moins en termes de mise en page:
http://www.panamericantool.com/cobalt-drills/drill-stops.html
http://www.panamericantool.com/screw-driver-bits/paint-cutters.html
J'ai compris que je dois utiliser des produits groupés, avec des produits simples pour créer le genre de chose que je recherche.
Dans les exemples ci-dessus, chaque produit a des attributs distincts, je suppose que cela se fait via différents ensembles d'attributs dans Magento.
Mais comment afficher ces différents titres / valeurs de tableau dans le thème?
Je sais que je peux le faire ->getAttributeName()
ou ->getAttribute('attribute_code')
dans le grouped.phtml
fichier, mais cela entraînerait une grande quantité de if (->getAttributeName() != '')...
et je devrais changer le modèle lors de l'ajout de plus.
Je suis sûr qu'il existe un moyen d'obtenir tous les attributs et de les boucler, mais comment différencieriez-vous l' meta_description
attribut (également renvoyé par la $_product->getData()
méthode) et un attribut que je voudrais répertorier dans le tableau?
Comment pourrais-je réaliser quelque chose qui ressemble à ce qu'ils ont?
Je suis également préoccupé par les performances, la boutique aura 5k produits au lancement, passant peut-être à 25k-30k à mesure que nous ajouterons notre stock restant. Beaucoup d'entre eux auront besoin d'attributs différents, mais je suppose que je pourrais partager des attributs entre des ensembles d'attributs sans trop de problèmes de performances?
Mise à jour:
J'ai continué à jouer avec cela, je l'ai trouvé pour obtenir tous les attributs d'un produit, mais je ne connais toujours pas de moyen simple d'afficher certaines valeurs sur une table de produits groupée?
$attributes = Mage::getModel('catalog/product_attribute_api')->items($_product->getAttributeSetId());
foreach($attributes as $_attribute){
print_r($_attribute);
}
Réponses:
Cela devrait être ce dont vous avez besoin:
la source
Pourquoi ne pas créer un attribut qui lui indique quels attributs afficher?
J'ai fini par créer un module qui charge la valeur de deux attributs de texte pour les produits groupés qui sont des chaînes de code d'attribut. Essentiellement un assistant qui explose cette chaîne de liste d'attributs et boucle dessus pour charger les données d'attribut des produits associés.
Créez un attribut que j'ai appelé le mien:
grouped_attr_array
Ajoutez l'attribut à l'ensemble d'attributs de conception du produit groupé dans l'administrateur, puis sous la forme d'un champ séparé par des points-virgules dans les données du produit
torque_range;torque_increments;torque_accuracy
J'ai extrait ce code de mon module. Il fait un peu plus de chargement ou de masquage des attributs par défaut en fonction d'une valeur d'attribut et le module est un peu plus complexe. Mais pour obtenir les données indiquées dans le tableau, voici quelques-unes des fonctions essentielles. J'espère que cela vous donne une idée sur laquelle vous pouvez vous appuyer. Ceci utilise magento 1.9.2
L'assistant du module:
Obtention des données de l'assistant dans groupedproduct.phtml
TH's
TD est la table
Je voudrais définir la façon de choisir cet attribut en fonction des attributs disponibles du magasin. Peut-être y a-t-il une bien meilleure façon de le faire aussi. Je n'y suis pas encore arrivé.
la source