Je construis un magasin Magento en utilisant un seul catalogue sur 4 domaines: 1 pour les États-Unis et 3 pour l'Europe (Royaume-Uni, français et allemand). Il y a 1 entrepôt de traitement des commandes en Europe, 1 aux États-Unis et une sorte d'entrepôt non officiel/interne aux États-Unis où les cadeaux sont respectés et nous ne suivons pas les niveaux d'inventaire dans Magento. Nous devons suivre des types de transactions particuliers tels que les ventes en ligne et les commandes internes/administratives comme les ventes hors site, les cadeaux publicitaires, les commandes commerciales, etc. Mon plan consiste à étendre le modèle de commande principal et à ajouter un type de commande/transaction puis, lors du placement d'une commande, traiter les données de la commande et diriger vers quel entrepôt il est envoyé pour l'exécution en fonction de l'identifiant du magasin et de la valeur du «type de commande». Étant nouveau sur Magento, je veux savoir si ce type d'installation est une mauvaise idée pour une raison ou pour une autre. Est-ce que je me tire dans le pied? Y a-t-il une raison pour qu'un seul catalogue soit problématique? Existe-t-il un moyen plus simple ou plus efficace de gérer ce flux? Existe-t-il un moyen d'ajouter des attributs personnalisés aux commandes comme vous le pouvez pour les produits?Attributs/champs personnalisés Magento? Me tirant dans le pied?
Répondre
Vous vous dirigez dans la bonne direction, mais (comme avec la plupart des choses Magento), il existe plusieurs options. Le principe le plus important ici est que l'architecture des modifications ne doit pas conduire à la situation où les mises à niveau/correctifs sur le noyau sont compromises. Ce qui est intéressant à ce sujet, c'est que Magento s'est éloigné du modèle EAV hautement extensible et sans danger pour la mise à niveau (principalement) pour Mage_Sales_Model_Order
(et les objets associés) dans la version actuelle. Cela rend plus difficile d'ajouter des attributs d'une manière mise à niveau en toute sécurité, à mon humble avis.
Je vous recommande d'utiliser le système Observer pour ajouter vos nouvelles valeurs d'attribut, mais dans un modèle associé. Autrement dit, plutôt que d'ajouter l'attribut dans le modèle Order lui-même, créez un modèle qui contient un order_id
et vos attributs personnalisés. Accédez à l'événement approprié (probablement sales_convert_quote_to_order
pour toutes les commandes ou checkout_type_onepage_save_order_after
pour les commandes frontales) et examinez les éléments de devis pour définir les valeurs dans votre modèle personnalisé. Lorsque vous exécutez votre processus pour transmettre des ordres à la maison d'exécution, vous pouvez rechercher les attributs personnalisés via le order_id
.
Une autre (meilleure?) Option est de suivre les conseils d'Ivan au Magento - Adding a new column to sales_flat_quote_item and sales_flat_order_item et d'utiliser la classe d'installation des ventes de Magento pour ajouter vos données sur la table sales_flat_order de manière sécurisée.
- 1. Événements personnalisés dans Magento
- 2. états personnalisés magento pour le pays
- 3. Comment ajouter des modules personnalisés dans magento
- 4. Magento personnalisés Module Administrateur Permission
- 5. Problème de pied de page dans Magento Panier d'achat
- 6. Disposition XML Magento avec des modules personnalisés
- 7. extension magento "remember me" ne fonctionne pas
- 8. Créer des contrôles personnalisés pour Java ME
- 9. Gestion du contenu du pied de page de Magento
- 10. Je ne peux pas me débarrasser de la marge sous le pied de page collant CSS
- 11. tirant d'info d'un plist
- 12. Magento Admin login me renvoie à la connexion Admin
- 13. Désactiver le client dans Magento
- 14. entrer la clé dans asp.net tirant le mauvais bouton
- 15. modifier le pied de page dans joomla1.5
- 16. Comment mettre le pied dans Android
- 17. UIGestureRecognizer tirant deux fois?
- 18. Problèmes avec Cufon dans Magento
- 19. comment obtenir le groupe d'attributs dans magento
- 20. magento - ajouter des liens vers le pied de page mais pas vers le haut du menu de navigation
- 21. IOCP dans le pool de threads personnalisés
- 22. Attributs personnalisés SPField dans le schéma
- 23. Javascript tirant manuellement l'événement .onchange()
- 24. itinéraires personnalisés Ruby dans le modèle
- 25. upsells dans le modèle Magento personnalisé
- 26. comment traduire le modèle d'email dans magento?
- 27. Gernerate urls personnalisées dans Magento
- 28. magento - changez la couleur du texte des liens de pied de page
- 29. Problème avec le pied de page css
- 30. JSF UIInput dans le pied de page DataTable
Excellente réponse. +1 pour créer une nouvelle table afin de garantir la mise à niveau du magasin en toute sécurité. – silvo
Merci Jonathan, ça a l'air parfait! –