Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

Parrainage sous Magento
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 1...2324252627282930
SUJET:

Parrainage sous Magento

#58225
neonecc
Fresh Boarder
Messages: 7
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Parrainage sous Magento

Il y a 6 Années, 3 Mois
Karma: 0  
Merci ! j'ai refait la fonction Auguria_Sponsorship_Model_Observer::calcPoints()

et sa fonctionne à merveille !

Le probléme venais de la ligne 57 (!$item->getParentItemId()) car j'ai un développement spécifique à ce sujet.

Merci et à bientôt !
 
L'administrateur a désactivé l'accès public en écriture.
#58226
franckcharpentier
Platinum Boarder
Messages: 1393
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin Auguria Lieu: Nantes Date anniversaire: 29/04

Re:Parrainage sous Magento

Il y a 6 Années, 3 Mois
Karma: 29  
Pas de quoi.
Comment as tu résolu le problème ?
Bien que ça soit du à un dev spé, si la solution est générique, peut être qu'on peut l'intégrer dans la prochaine version...
 
L'administrateur a désactivé l'accès public en écriture.
#58227
neonecc
Fresh Boarder
Messages: 7
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Parrainage sous Magento

Il y a 6 Années, 3 Mois
Karma: 0  
Ma fonction ressemble à sa maintenant :

/**
* Calcul total order points on sales_order_payment_pay event
* @param Varien_Event_Observer $observer
*/
public function calcPoints($observer)
{
/**
* @TODO : retrancher du total les points offerts
*/
try {
//modules actifs
$moduleFidelity = Mage::helper('auguria_sponsorship/config')->isFidelityEnabled();
$moduleSponsor = Mage::helper('auguria_sponsorship/config')->isSponsorshipEnabled();
$moduleAccumulated = Mage::helper('auguria_sponsorship/config')->isAccumulatedEnabled();


//récupération de la commande et des articles
$order = $observer->getInvoice()->getOrder();
$orderDate = $order->getUpdatedAt();
$orderId = $order->getEntityId();

//définition du client
$cId = $order->getCustomerId();

//definition du websiteid
$wId = $order->getStore()->getWebsiteId();

//definition du groupe du client
$customer = Mage::getModel('customer/customer')->load($cId);
$gId = $customer->getGroupId();

//definition du sponsor de premier niveau
$sponsorId = (int)$customer->getSponsor();
$sponsor = Mage::getModel('customer/customer')->load($sponsorId);
$special_rate = (int)$sponsor->getData('special_rate');

//variable de points
$tCatalogFidelityPoints=0;
$tCatalogSponsorPoints=0;
$tCartFidelityPoints=0;
$tCartSponsorPoints=0;

//calcul des points catalogue et mise à jour de lacommande pour chaque ligne
foreach ($order->getAllItems() as $item)
{
//Add points only if product have no parent

$date = $item->getData('updated_at');
$pId = $item->getData('product_id');
$qte = $item->getData('qty_ordered');
$data = $item->getData();


//récupération et affectation des points catalog pour chaque article commandé
$catalogFidelityPoints = (float)$this->getRulePoints($date, $wId, $gId, $pId,'fidelity');
//multiplication des points par la quantité
$catalogFidelityPoints = $catalogFidelityPoints*$qte;
//ajout des points aux items de commande
$data['catalog_fidelity_points'] = $catalogFidelityPoints;

//calcul du total de points catalogue
$tCatalogFidelityPoints = $tCatalogFidelityPoints+$catalogFidelityPoints;

//calcul du total de points panier
$tCartFidelityPoints = $tCartFidelityPoints+(float)$item->getCartFidelityPoints();


$item->setData($data);
$item->save();
}

$order->save();

//Ajout du total des points fidelite
if ($tCatalogFidelityPoints != 0 || $tCartFidelityPoints != 0 ) {
$this->_addFidelityPoints($customer, $tCatalogFidelityPoints+$tCartFidelityPoints, 'order', $orderId, $orderDate);
$customer->save();
}

//Ajout du total des points de parrainage si le parrain n'a pas de taux spécial
if (($tCatalogSponsorPoints != 0 || $tCartSponsorPoints != 0) && $special_rate==0) {
$this->_addSponsorPoints($sponsor, $customer, $tCatalogSponsorPoints+$tCartSponsorPoints, 'order', $orderId, $orderDate);
}
//Ajout des points à partir du taux spécial au parrain direct uniquement
elseif ($special_rate!=null && ($moduleSponsor==1 || $moduleAccumulated==1)) {
$this->_addSponsorSpecialPoints($sponsor, $customer, $specialratepoints, 'order', $orderId, $orderDate);
}
return $this;
}
catch (Exception $e) {
Mage::log(Mage::helper('auguria_sponsorship')->__("An error occured while saving points : %s",$e->getMessage()));
}
}
 
L'administrateur a désactivé l'accès public en écriture.
#58229
neonecc
Fresh Boarder
Messages: 7
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Parrainage sous Magento

Il y a 6 Années, 3 Mois
Karma: 0  
Autre question :

- Est-il possible de générer des coupons de réduction avec % de bon d'achat. car actuellement il faut utiliser "Taux de conversion des points en monnaie" Qui donne donc un coupon de réduction avec une valeur EURO...

Exemple applicatif :

Montant d'achat cumulé TTC || Point fidélité || % de bon d'achat
10 || 1 || 0,0%
300 || 30 || 5,0%
800 || 80 || 10,0%
1500 || 150 || 15,0%


Merci d'avance et bonne journée !
 
Dernière édition: 18/04/12 à  07:13 Par neonecc.
L'administrateur a désactivé l'accès public en écriture.
#58230
franckcharpentier
Platinum Boarder
Messages: 1393
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin Auguria Lieu: Nantes Date anniversaire: 29/04

Re:Parrainage sous Magento

Il y a 6 Années, 3 Mois
Karma: 29  
Merci, donc on ne peut pas l'appliquer.
Car les points seraient comptabiliser en double dans certains cas (points en pourcentage, bundle,..)
 
L'administrateur a désactivé l'accès public en écriture.
#58232
neonecc
Fresh Boarder
Messages: 7
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Parrainage sous Magento

Il y a 6 Années, 3 Mois
Karma: 0  
Auto réponse

Fichier PoinsController.php
Ligne 255

Remplacer : "simple_action" => "cart_fixed",

Par : "simple_action" => "by_percent",


Et voila
 
L'administrateur a désactivé l'accès public en écriture.
#58234
franckcharpentier
Platinum Boarder
Messages: 1393
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin Auguria Lieu: Nantes Date anniversaire: 29/04

Re:Parrainage sous Magento

Il y a 6 Années, 3 Mois
Karma: 29  
Je ne suis pas sure de comprendre la question
Mais effectivement, pour les bons de réduction, l'utilisateur doit d'abord faire une demande en euro.
Il existe aussi le mode panier qui permet de décrémenter la commande automatiquement du nombre de points du client...
 
L'administrateur a désactivé l'accès public en écriture.
#58474
elooodie
Fresh Boarder
Messages: 19
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Parrainage sous Magento

Il y a 6 Années, 2 Mois
Karma: 1  
Bonjour,

Tout d'abord merci pour ce module qui semble bien complet !
Au niveau de la configuration, comment fait-on pour offrir un cadeau cadeau au filleul lors de sa première commande ? (je voudrais offrir 5% de réduction au parrain dès qu'un filleul commande et offrir un cadeau au filleul pour sa première commande)

J'ai mis au niveau de la configuration :
mode du module : parrainage
Échange en cadeaux activé : oui

J'ai vu qu'il y avait des options en plus au niveau des règles panier, mais je ne vois rien qui puisse offrir un cadeau.. Comment peut-on procéder ?

Merci par avance !
 
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 1...2324252627282930
Modérateur: Gabriiiel, ILOA, zuiko