Question

Je construis un magasin Magento en utilisant un seul catalogue sur 4 domaines: 1 pour les Etats-Unis et 3 pour l'Europe (Royaume-Uni, français et allemand). Il y a 1 magasin accomplissement en Europe, 1 aux États-Unis et aux États-Unis où des cadeaux et tels sont remplies une sorte de « entrepôt » officieux / interne, et nous ne sommes pas des niveaux de stocks dans le suivi Magento. Nous devons suivre les types de transactions particulières comme les ventes web simples ainsi que des commandes internes / admin comme les ventes non Web, cadeaux, commandes de salons professionnels, etc. Plan Mon est d'étendre le modèle de commande de base et en ajoutant une sorte de « ordre / type de transaction » champ, puis, sur la mise en place d'un ordre, traiter les données de commande et de diriger quel entrepôt, il est envoyé à l'épanouissement basé sur l'ID du magasin et la valeur 'du type de commande.

Être à nouveau Magento, je veux savoir si ce type de configuration est une mauvaise idée pour une raison quelconque. Est-ce que je me tire dans le pied? Y at-il raison d'un catalogue unique pourrait être problématique? Y at-il un moyen plus facile ou mieux de gérer ce flux? Est-il possible d'ajouter des attributs personnalisés aux commandes comme vous pouvez aux produits?

Était-ce utile?

La solution

Vous vous dirigez dans la bonne direction, mais (comme la plupart des choses Magento), il y a deux options. Le plus important principe ici est que l'architecture des modifications ne doit pas conduire à la situation où les mises à niveau / patches sur le noyau sont compromis. Ce qui est intéressant à ce sujet est que Magento est déplacé loin de la très extensible et mise à niveau de sécurité (la plupart du temps) modèle EAV pour Mage_Sales_Model_Order (et objets connexes) dans la version actuelle. Cela rend plus difficile d'ajouter des attributs d'une manière de mise à niveau de sécurité, à mon humble avis.

Je vous recommande d'utiliser le système d'observateur d'ajouter vos nouvelles valeurs d'attribut, mais dans un modèle connexe. C'est, plutôt que d'ajouter l'attribut dans le modèle de la commande elle-même, créer un modèle qui est titulaire d'un order_id et vos attributs personnalisés. Crochet dans l'événement approprié (probablement sales_convert_quote_to_order pour toute commande ou checkout_type_onepage_save_order_after pour les commandes frontend) et examiner les éléments de citation pour définir les valeurs dans votre modèle personnalisé. Lorsque vous exécutez votre processus de commandes de transmettre à la société d'exécution, vous pouvez rechercher les attributs personnalisés via le order_id.

Autres conseils

Une autre (mieux?) Option est de suivre les conseils d'Ivan à Magento -. Ajout d'une nouvelle colonne à sales_flat_quote_item et sales_flat_order_item et utiliser la classe de configuration des ventes de Magento pour ajouter vos données sur la table de sales_flat_order d'une manière de mise à niveau de sécurité

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top