J'ai des produits configurés à l'identique (pour autant que je sache) et ils ont tous été importés avec un modèle CSV universel.
- Le prix configurable est de 29,99
- Le produit à manches courtes associé simple est 29,99
- Produit à manches longues associé simple est 39,99
Une facture a récemment facturé un produit à manches longues ( ZTWS-SBLS-XL ) qui a un prix de 39,99 avec le prix du produit configurable de 29,99. Comment puis-je forcer le prix du produit simple à remplacer le prix du produit configurable? Les deux produits ci-dessous sont configurés de manière identique avec leur produit configurable parent et en tant que produits simples.
Facture d'achat:
Item Sku Qty Subtotal
Item one ZLOB-SBLS-XL 1 $39.99
Item Two ZTWS-SBLS-XL 1 $29.99
EDIT: Toujours en train de résoudre ce problème. Qu'est-ce qui pousserait Magento à préférer le prix de produit simple au prix de produit configurable ou au prix d'attribut de produit associé?
Réponses:
Lorsque vous créez un produit configurable, peu importe le prix des produits simples - ces prix sont complètement ignorés. Donc, si vous voulez vendre un produit simple A au prix de 29,99 $ et un produit simple B (39,99 $), vous devez créer un produit configurable, définir son prix à 29,99 $ et ouvrir l' onglet Produit associé . Ajoutez les produits que vous souhaitez associer à ce produit configurable. Après leur ajout, un bloc nommé Configuration des attributs du produit Super apparaît, qui contient des options et des différences de prix. Laissez le prix du produit A vide et mettez 10 (+ 10 $) dans le champ de prix du produit B et le tour est joué: différents produits simples ont des prix différents.
Il existe en fait une extension qui vous permet d'utiliser des prix de produits simples au lieu de différences de prix, mais c'est un peu difficile à configurer. Puisqu'il s'agit d'une extension gratuite, j'espère que personne ne se plaint que j'ai collé son lien ici:
https://github.com/organicinternet/magento-configurable-simple
la source
Donc, j'utilise le code ci-dessous en combinaison avec une extension comme les produits configurables simples Internet organiques.
Le code ci-dessous est destiné au processus de panier / paiement, essentiellement, c'est une mise à jour du modèle de prix configurable qui transmet le calcul du prix à un produit simple dans le cas où le produit a été ajouté au panier --- cette solution N'AFFICHE PAS les prix sur la page du produit lui-même (mais il existe déjà de nombreuses extensions qui le font).
Mettre à jour app / code / core / Mage / Catalogue / Model / Product / Type / Configurable / Price.php (idéalement, vous utilisez une extension ou un remplacement local dans app / code / local)
Mettez à jour la méthode: getFinalPrice, passez à
Ajoutez ensuite cette fonction juste en dessous de getFinalPrice:
Vous pouvez voir, dans le cas où l'utilisateur a "personnalisé" le produit (IE, les options configurables sélectionnées) que nous déterminons le produit simple associé et passons le contrôle à son modèle de tarification, sinon si le produit n'est pas "personnalisé" (IE, nous naviguons sur la page du produit) nous procédons normalement
la source
Utilisation de Magento version 1.9.2.2
Peut être une solution légèrement meilleure, utilisez l'approche 'Observer' au lieu de pirater le noyau ou même de remplacer la classe de prix par défaut du modèle, c'est-à-dire application / code / noyau / Mage / Catalogue / Modèle / Produit / Type / Configurable / Price.php
Tout ce que vous avez à faire est d'utiliser le code d'Alan dans votre Observateur nouvellement créé, la seule différence est au lieu de revenir
Remplacez-le par ce qui suit:
Suivez ce Observer.php
Config.xml
J'espère que cela résout le problème .. :)
la source
Si les produits simples ont un prix différent mais sont configurés par rapport au produit configurable sans fixation de prix, fixe ou en pourcentage, le prix du produit configurable sera pris. Peu importe les produits simples achetés, leur prix ne semble pas être pris en compte.
Pour mettre à jour cela, allez simplement dans le produit parent dans la section d'administration, puis sous l'onglet,
Associated Products
vous pouvez mettre à jour le prix de chaque produit enfant pour ajouter un prix supplémentaire sur le prix des produits parents.la source
J'ai également le même problème et j'ai résolu en utilisant le code ci-dessous. Cela fonctionnera également du côté administrateur si vous commandez auprès de l'administrateur (pour la commande téléphonique)
Observez cet événement,
et ajoutez le code ci-dessous dans votre Observer.php
Il obtiendra le prix du produit associé et sera enregistré dans le devis.
la source
$item->setOriginalCustomPrice($sprice);
et$item->setOriginalPrice($price);
, qui permet plusieurs articles configurables qui pointent vers le même produit, dans le panier, avec des prix différents.Veuillez suivre les étapes ci-dessous pour modifier le prix du super attribut
Utilisez d'abord les observateurs "catalog_product_get_final_price". Faites des observateurs comme ça:
Ouvrez votre module config.xml et utilisez le code ci-dessous:
Maintenant, créez le fichier Observer.php dans le modèle et le code ci-dessous
Maintenant, ouvrez app / design / frontend / default / yourtheme / template / catalogue / product / view / type / options / configurable.phtml et collez le code ci-dessous n'importe où dans le fichier
Maintenant, ouvrez js / varien / configurable.js et modifiez la fonction reloadPrice comme ci-dessous ou vous pouvez également remplacer cette fonction entière
Code extrait de: http://chandreshrana.blogspot.in/2016/03/set-simple-product-price-instead-of.html
la source