Comment créer un attribut de produit configurable basé sur la saisie de l'utilisateur dans Magento ?

Susan Sarandon
Libérer: 2024-10-28 03:05:30
original
422 Les gens l'ont consulté

 How to Build a Configurable Product Attribute Based on User Input in Magento?

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

  • Créez un modèle .phtml pour générer le HTML nécessaire.
  • Remplacez le app/design/frontend/base/default/catalog /product/view/type/default.phtml pour inclure votre modèle.
  • Capturez l'entrée de l'utilisateur via un élément.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!