Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Page 1 of 2
Validation de panier et non prise en compte de promotion frais de port gratuit
 
Upgento
Jr. Member
 
Total Posts:  16
Joined:  2009-01-28
 

Bonjour,

J’ai actuellement un site en version Magento 1.1.6 et module 1.1.9 . J’ai créé une promotion de frais de port gratuit en fonction du pays et du nombre d’articles, et celle ci fonctionne bien lorsque je fais une estimation des frais.

Mais, lors de la validation du panier, si je saisie les informations de facturation et que j’indique que ce sont les mêmes pour la livraison, Magento ne prend plus en compte la promotion mais détermine les bons frais de port pour le pays. Par contre, si je précise l’adresse de livraison, alors la promotion est appliquée.

Est-ce un bug Magento ? Du module ?

Merci grin

 
Magento Community Magento Community
Magento Community
Magento Community
 
Upgento
Jr. Member
 
Total Posts:  16
Joined:  2009-01-28
 

Testé avec un Magento 1.2.1.2 , et toujours même soucis. Seule solution pour l’instant : forcer le client à passer par l’onglet “Adresse de Livraison”

 
Magento Community Magento Community
Magento Community
Magento Community
 
owebia
Mentor
 
Avatar
Total Posts:  1227
Joined:  2008-07-11
France, Morteau
 

Bonjour,

Cela semblerait venir de Magento.
Le module utilise les informations suivantes :
$_request->getFreeShipping();
et
$request->_data[’dest_country_id’]

Si votre pays a été configuré pour accepter les frais de port gratuits, mais qu’ils n’apparaissent pas, c’est que Magento ne retourne pas true lors de l’appel à $_request->getFreeShipping();

Pourrais-je avoir une copie de la configuration ainsi que les valeurs utilisées pour le test ?

A.L.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Upgento
Jr. Member
 
Total Posts:  16
Joined:  2009-01-28
 

Merci pour votre réponse.

Alors voici la configuration actuelle pour Colissimo:
{
label: “France”,
destination: “FR”,
prices_range: “*=>*”,
fixed_fees: 0.00,
fees_table: “1000:6.95,2000:7.8,3000:8.35,4000:9,5000:9.7,6000:10.3,7000:10.7,8000:11.75,9000:11.75,10000:11.75,15000:13.55,30000:18.35”,
free_shipping__fees_table: “*:0”
}

et la promotion :
Conditions : si qté totale d’article >= 3
Actions : Livraison gratuite pour les expéditions avec les articles concordants
(sans conditions).

Testé donc sur module v1.1.9 avec un Magento 1.1.6 et 1.2.1.2 dans l’écran checkout one-page, aucun autre module de livraison.

 
Magento Community Magento Community
Magento Community
Magento Community
 
owebia
Mentor
 
Avatar
Total Posts:  1227
Joined:  2008-07-11
France, Morteau
 

On peux faire un test simple, il suffit de modifier la classe Owebia_Shipping_Model_Carrier_Byweight_AbstractDestinationWeightShipping

remplacer

$method_title .= ‘)’;

par

$method_title .= ‘)’.$request->getFreeShipping();

Le nom de la méthode inclura un 0 ou un 1 en fonction de la valeur retournée

 
Magento Community Magento Community
Magento Community
Magento Community
 
Upgento
Jr. Member
 
Total Posts:  16
Joined:  2009-01-28
 

En rajoutant la valeur dans le libellé :

* 0 dans le cas où on ne passe pas par l’onglet “Informations de Livraison”
* 1 dans le cas où on passe par l’onglet.

Donc effectivement, ça pourrait être un problème de Magento. Ce que je ne comprends pas, c’est que normalement les coordonnées de livraison ne devraient pas impacter pas dans le calcul des promos en amont des frais de livraison

 
Magento Community Magento Community
Magento Community
Magento Community
 
owebia
Mentor
 
Avatar
Total Posts:  1227
Joined:  2008-07-11
France, Morteau
 

La méthode getFreeShipping semble seulement retourner la valeur d’un attribut de la classe. Le test est surement fait avant de parcourir les différentes classes des modes de livraison. Comme le pays de livraison peut parfois avoir son importance dans l’attribution ou non du port gratuit ça peut paraitre logique que les coordonnées soient utilisées. Par contre, il devrait utiliser les coordonnées de facturation si on ne spécifie pas d’autres coordonnées pour la livraison.

 
Magento Community Magento Community
Magento Community
Magento Community
 
dahu
Sr. Member
 
Avatar
Total Posts:  82
Joined:  2008-06-16
Bordeaux (France)
 

J’ai un problème sûrement similaire, j’ai configuré le module owebia par zone de destination et par poids comme ceci :

# France métropolitaine
{
label: “EXAPAQ 24h”,
destination: “FR(-2A,2B)”,
prices_range: “*=>*”,
fixed_fees: 0.00,
fees_table: “*:5.01”,
free_shipping__fees_table: “*:0”,
}

# France Corse
{
label: “EXAPAQ Corse 24h”,
destination: “FR(2A,2B)”,
prices_range: “*=>*”,
fixed_fees: 0.00,
fees_table: “*:18.01”,
free_shipping__fees_table: “*:13”,
}

# Belgique
{
label: “EXAPAQ 24/48h”,
destination: “BE”,
prices_range: “*=>*”,
fees_table: “*:13.97”,
free_shipping__fees_table: “1.0:11.59, 2.0:12.18, 3.0:12.78, 4.0:13.38, 5.0:13.97, 8.0:15.17, 10.0:16.78, 15.0:18.77, 20.0:21.77, 25.0:24.77, 30.0:28.35”,
}

# Luxembourg
{
label: “EXAPAQ 24/48h”,
destination: “LU”,
prices_range: “*=>*”,
fixed_fees: 0.00,
fees_table: “*:13.97”,
free_shipping__fees_table: “1.0:11.59, 2.0:12.18, 3.0:12.78, 4.0:13.38, 5.0:13.97, 8.0:15.17, 10.0:16.78, 15.0:18.77, 20.0:21.77, 25.0:24.77, 30.0:28.35”,
}

J’ai aussi crée une promotion sur le panier qui autorise certain produits à la livraison gratuite.

Mon 1er problème est que je suis obligé d’activer la livraison gratuite avec un montant minimum de commande de 99999999 dans la configuration des modes de livraison. Si je n’active pas la livraison gratuite dans la configuration, aucune livraison gratuite n’apparaît lors de la commande.

Mon 2ème problème est quand j’active la livraison gratuite pour les pays concerné, je me retrouve avec une livraison à 0€ du module de livraison gratuite et une livraison gratuite calculé par le module owebia :

Livraison gratuite France :
- Franco de port
* EXAPAQ 24h - Gratuit 0,00 €
- EXAPAQ
* EXAPAQ 24h (France / 5.7 kg) 0,00 €

Livraison gratuite Corse :
- Franco de port
* EXAPAQ 24h - Gratuit 0,00 €
- EXAPAQ
* EXAPAQ Corse 24h (France / 5.7 kg) 15,55 €

Livraison gratuite Belgique :
- Franco de port
* EXAPAQ 24h - Gratuit 0,00 €
- EXAPAQ
* EXAPAQ 24/48h (Belgium / 5.7 kg) 18,14 €

J’aimerai supprimer cette livraison gratuite “Franco de port” afin de n’avoir que la livraison gratuite généré par le module owebia.

Merci pour votre aide.

PS : super module, très bonne analyse du besoin et le tout pour 0€, je suis conquis smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
owebia
Mentor
 
Avatar
Total Posts:  1227
Joined:  2008-07-11
France, Morteau
 

Bonjour,

Vous utilisez un module spécial pour activer la livraison gratuite sur les différents modes de livraison ? Car Owebia Shipping ne permet pas de le faire et Magento non plus.
Ou alors je n’ai pas compris ce que vous faites.

A.L.

 
Magento Community Magento Community
Magento Community
Magento Community
 
dahu
Sr. Member
 
Avatar
Total Posts:  82
Joined:  2008-06-16
Bordeaux (France)
 

Non je n’utilise pas de module spécial pour activer la livraison gratuite. Je souhaiterai pouvoir activer la livraison gratuite uniquement pour le module owebia sans passer par la Livraison gratuite de magento. L’autre solution serai d’activer la livraison gratuite de magento mais de la cacher pour le client.

Mon plus gros problème est que je propose certain produits en livraison gratuite pour la France mais sans la Corse ou alors avec des tarifs différents. Cela ne me parait pas possible ?

Je ne sais pas quoi faire?

 
Magento Community Magento Community
Magento Community
Magento Community
 
owebia
Mentor
 
Avatar
Total Posts:  1227
Joined:  2008-07-11
France, Morteau
 

Premièrement, désactiver la livraison gratuite de Magento.
Deuxièmement, expliquez-moi dans quelle situation précise vous souhaitez offrir les frais de port.
Je pourrai peut-être vous donner une solution.

 
Magento Community Magento Community
Magento Community
Magento Community
 
dahu
Sr. Member
 
Avatar
Total Posts:  82
Joined:  2008-06-16
Bordeaux (France)
 

J’ai donc désactivé la livraison gratuite de magento.
J’ai une promotion panier qui autorise certain produits à la livraison gratuite.

Avec la livraison gratuite de magento désactivé, aucune livraison gratuite n’est disponible sur le frontend lors d’une commande. Seulement la livraison normale du module owebia.

Avec la livraison gratuite de magento activé, sur le frontend j’ai la livraison gratuite de mangento ainsi que la livraison gratuite du module owebia.

Mon problème est que je ne veux avoir que la livraison gratuite calculé par le module owebia.

Est-ce plus clair ? Est-ce possible ?

Merci

 
Magento Community Magento Community
Magento Community
Magento Community
 
owebia
Mentor
 
Avatar
Total Posts:  1227
Joined:  2008-07-11
France, Morteau
 

Vous avez bien spécifié le champ free_shipping__fees_table ?
Vous avez effectué le test demandé à nexnex ?

On peux faire un test simple, il suffit de modifier la classe Owebia_Shipping_Model_Carrier_Byweight_AbstractDestinationWeightShipping

remplacer

$method_title .= ‘)’;

par

$method_title .= ‘)’.$request->getFreeShipping();

Le nom de la méthode inclura un 0 ou un 1 en fonction de la valeur retournée

 
Magento Community Magento Community
Magento Community
Magento Community
 
dahu
Sr. Member
 
Avatar
Total Posts:  82
Joined:  2008-06-16
Bordeaux (France)
 

Oui le champ free_shipping__fees_table est bien spécifié pour tous les pays comme dans mon post plus haut.
Je viens d’effectuer le test, voici donc le résultat (je tourne sur la version 1.3 de magento) :

- Avec la livraison gratuite de magento désactivé : retourne 0 est donc la base de calcule est basé sur la fees_table.
- Avec la livraison gratuite de magento activé : retourne 1 est donc la base de calcule est basé sur la free_shipping__fees_table mais alors le client voit deux livraisons gratuites, l’une par le module owebia l’autre par la livraison gratuite de magento.

PS : J’ai lu un problème similaire rencontré dans la livraison gratuite UPS de magento. Le problème a été résolut depuis la 1.3, c’est peut être une piste pour le module owebia.

Merci de votre aide.

 
Magento Community Magento Community
Magento Community
Magento Community
 
dahu
Sr. Member
 
Avatar
Total Posts:  82
Joined:  2008-06-16
Bordeaux (France)
 

Bon je viens peut être de trouver la solution (viable ou pas viable c’est à vous de me le dire) mais elle marche.

Explication : $request->getFreeShipping(); ne marchant pas comme il faut, je suis allé chercher dans la partie code de la Livraison gratuite de magento “app\code\core\Mage\Shipping\Model\Carrier\Freeshipping.php”, on y trouve le code suivant :

protected function _updateFreeMethodQuote($request)
    
{
        $freeShipping 
false;
        
$items $request->getAllItems();
        
$c count($items);
        for (
$i 0$i $c$i++) {
            
if ($items[$i]->getProduct() instanceof Mage_Catalog_Model_Product{
                
if ($items[$i]->getFreeShipping()) {
                    $freeShipping 
true;
                
else {
                    
return;
                
}
            }
        }
        
if ($freeShipping{
            $request
->setFreeShipping(true);
        
}
    }

J’ai donc fait un copié collé de ce code en l’adaptant juste un petit peu au module owebia “app\code\community\Owebia\Shipping\Model\Carrier\AbstractDestinationShipping.php” :

Remplacer la ligne 177 :

$free_shipping $process['request']->getFreeShipping();

par le code suivant :

$free_shipping  false;
        
$items $process['request']->getAllItems();
        
$c count($items);
        for (
$i 0$i $c$i++) {
            
if ($items[$i]->getProduct() instanceof Mage_Catalog_Model_Product{
                
if ($items[$i]->getFreeShipping()) {
                    $free_shipping 
true;
                
else {
                    $free_shipping  
false;
                    break;
                
}
            }
        }

Owebia et les autres vous en pensez quoi ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
owebia
Mentor
 
Avatar
Total Posts:  1227
Joined:  2008-07-11
France, Morteau
 

Bonjour,
Désolé, je n’avais pas vu ce message.
Est-ce que la modification résout le problème ?
A.L.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 2