Attribut de produit configurable basé sur les entrées de l'utilisateur
Introduction
Magento permet la création d'attributs de produit qui étendent les fonctionnalités de produits dans le système. Bien que les attributs personnalisés offrent un contrôle plus approfondi sur la personnalisation des produits, ils peuvent être affichés dans les pages de modification des produits. Cet article présente une solution pour créer un attribut qui se comporte différemment : il n'est pas enregistré dans les produits, est masqué dans les pages de modification des produits et s'affiche sur les articles de commande/devis après avoir été configuré par les clients.
Mise en œuvre
1. Ajout du champ de saisie à la page produit
2. Validation et enregistrement de l'entrée
- Utilisez un observateur d'événement pour écouter l'événement catalog_product_load_after.
- Récupérez la valeur d'entrée à l'aide de $product->getCustomOption('info_buyRequest') .
- Validez et enregistrez la valeur à l'aide d'un observateur d'événement sales_quote_item_qty_set_after.
3. Affichage de la valeur sur la commande/le devis/les rapports
- Sérialisez la valeur d'entrée et enregistrez-la en tant qu'option personnalisée supplement_options sur le produit et les articles de devis/commande.
- Utilisez un formateur personnalisé ou remplacez les modèles d'affichage de commande/devis pour afficher la valeur de l'attribut.
4. Filtrer les commandes par valeur d'entrée
- Utilisez la syntaxe Mage::getResourceModel('sales/order_item_collection')->addAttributeToFilter('additional_options["my_attribute"]', $value) pour filtrer commandes.
Considérations supplémentaires
- Traduction : utilisez un observateur de chargement d'article de devis/commande pour définir l'étiquette ou la valeur de l'attribut traduit.
- Prise en charge des réorganisations : assurez-vous que la valeur de l'attribut est copiée de l'article de devis vers l'article de commande lors des réapprovisionnements (à l'aide d'un observateur d'événement checkout_cart_product_add_after).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!