2010-11-18 7 views
1

ne sais pas si quelqu'un peut aider avec cela?Magento - ajouter un pourcentage au-dessus du prix calculé

Nous devons ajouter un pourcentage au-dessus d'un prix calculé et non le prix de base.

par exemple.

Prix de base = 10 £

Sélection 1 Option 1 + £ 10 Option 2 + £ 20

Sélection 2 Option 1 + 10% Option 2 + 20%

Nous besoin de calculer le prix de base + (option 1 à partir de la sélection 1) puis, en plus de ce sous-total, nous devons ajouter (option 1 à partir de la sélection 2) à ce sous-total et NON au prix de base.

Est-ce possible du tout à partir de ce que nous avons vu jusqu'ici tous les pourcentages sont calculés sur le prix de base et non sous-total.

Répondre

2

En gros, vous devez créer un type de produit personnalisé afin que vous puissiez effectuer ce calcul personnalisé sans modifier le type de produit «Simple» qui pourrait encore être utilisé pour d'autres produits dans le magasin. Le vrai travail sera fait dans son modèle de prix.

Définition d'un nouveau type est facile:

<config> 
    <global> 
     <catalog> 
      <product> 
       <type> 
        <CUSTOM> 
         <label>CUSTOM PRODUCT TYPE</label> 
         <model>catalog/product_type_abstract</model> 
         <priceModel>YOURMODULE/product_type_CUSTOM<priceModel> 
        </CUSTOM> 
       </type> 
      </product> 
     </catalog> 
    </global> 
</config> 

Le module a besoin an install script qui attribue les divers attributs liés au prix de type personnalisé, sinon ils ne seront pas visibles sur la page d'édition du produit.

Cela attend maintenant une classe YOURMODULE_Model_Product_Type_CUSTOM_Price qui devrait descendre de Mage_Catalog_Model_Product_Type_Price. La nouvelle classe doit remplacer la méthode suivante:

protected function _applyOptionsPrice($product, $qty, $finalPrice) 

Voir la méthode du parent pour savoir comment cela fonctionne, puis faites-le fonctionner comme vous le souhaitez.

J'imagine que vous parcourriez probablement toutes les options de produits et conserveriez deux totaux, l'un des prix fixes et l'autre des pourcentages. Ajoutez la valeur fixe au prix de base, puis multipliez par la valeur des pourcentages.

Ensuite, tout ce qui reste est d'ajouter de nouveaux produits dans l'admin en utilisant votre nouveau type.

+1

Vous faites paraître si facile :) –

Questions connexes