Skip to main content

Taxe montant fixe

More
9 years 8 months ago #259824 by fifi84
Taxe montant fixe was created by fifi84
-- HikaShop version -- : 2.6.3
-- Joomla version -- : 3.6.5
-- PHP version -- : 7

Bonjour à tous,

j'ai besoin de créer une taxe fixe par panier, j'ai installé le plugin "Global_Cart_Fee" qui fonctionne très bien mais il faudrait que j'exclue une zone pays (France)

Bref, applicable pour tout pays sauf France
Merci par avance

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago #259829 by Jerome
Replied by Jerome on topic Taxe montant fixe
Bonjour,

Cela va demander une modification du plugin afin de rajouter le support des zones.
Sachant que le plugin se base sur le trigger "onAfterCartProductsLoad", vous avez un accès au panier et vous avez la possibilité de lire l'adresse courante de l'utilisateur afin d'ajouter ou non le champs additionnel.
www.hikashop.com/support/documentation/6...fterCartProductsLoad

Cordialement,

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago #259887 by fifi84
Replied by fifi84 on topic Taxe montant fixe
Merci Jerome,

j'ai testé ça mais ça ne change rien et surtout je ne sais pas si je suis sur le bon chemin

if(!count($plugins) && ($address_country !=country_France_73)){
return;

Quel plugin natif utilisant le trigger "onAfterCartProductsLoad" pourrait m'aiguiller ?

Cdt
Phi

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago #259903 by nicolas
Replied by nicolas on topic Taxe montant fixe
Bonjour,

Il n'y a pas de variable $country dans le plugin. Donc c'est normal que cela ne fonctionne pas.

Vous trouverez le pays dans $cart->billing_address->address_country faites un var_dump de cette variable pour voir ce que vous avez dedans et faites votre if en fonction.

Le plugin global cart fee utilise déjà onAfterCartProductsLoad donc il n'y a pas besoin de regarder un autre plugin sur comment implémenter cela.

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago - 9 years 8 months ago #260026 by fifi84
Replied by fifi84 on topic Taxe montant fixe
Bonjour Nicolas,

je ne trouve pas de billing_address avec un var_dump($cart);
Code:
function onAfterCartProductsLoad(&$cart) { $plugins = array(); $this->listPlugins($this->name, $plugins, false, true); $country = $cart->billing_address->address_country; if(!count($plugins) && ($country != 'country_France_73')){ return; }

Rapport d'erreur Joomla :

Notice: Undefined property: stdClass::$billing_address in

Merci par avance
Last edit: 9 years 8 months ago by Jerome. Reason: [code] is nice

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago #260033 by Jerome
Replied by Jerome on topic Taxe montant fixe
Bonjour,

C'est malheureusement normal ; vous utilisez HikaShop 2.6.3 et cela n'est disponible que depuis HikaShop 3.0
Dans HikaShop 2.x ; vous devez récupérer l'adresse ID via la session et vous devez ensuite charger l'adresse correspondante.

Cordialement,

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago #260081 by fifi84
Replied by fifi84 on topic Taxe montant fixe
Bonjour,

par contre avec un var_dump($cart) je trouve un array "zone_namekey"

j'ai essayé :

$country = $cart->zone_namekey;
if(!count($plugins) && ($country != 'country_France_73')){

Mais même message d'erreur de Joomla:

Notice: Undefined property: stdClass::$zone_namekey in

N'y aurait -il pas la possibilité de faire une condition sur zone_namekey

Merci

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago - 9 years 8 months ago #260144 by fifi84
Replied by fifi84 on topic Taxe montant fixe
Bonsoir,

afin de test j'ai installé une version d'hika 3.0 et effectivement avec un var_dump $cart j'y trouve shipping_address->address_country

mais ma modif ne fonctionne pas
Code:
function onAfterCartProductsLoad(&$cart) { $plugins = array(); $this->listPlugins($this->name, $plugins, false, true); $country = $cart->shipping_address->address_country; if(!count($plugins) && ($country != 'country_France_73')){ return; }
Qu'est ce que j'oublie ou fais de travers ?

Merci par avance
Last edit: 9 years 8 months ago by Jerome. Reason: [code] is nice

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago #260083 by nicolas
Replied by nicolas on topic Taxe montant fixe
Bonjour,

Comme Jérome l'a expliqué, avec une version antérieure à HikaShop 3, il faut charger l'adresse vous même et $cart->zone_namekey n'existe pas.

Il faut faire cela:
Code:
$app = JFactory::getApplication(); $id = $app->getUserState('com_hikashop.billing_address'); $class = hikashop_get('class.address'); $address = $class->get($id); echo $address->address_country;
The following user(s) said Thank You: fifi84

Please Log in or Create an account to join the conversation.

More
9 years 8 months ago - 9 years 8 months ago #260241 by fifi84
Replied by fifi84 on topic Taxe montant fixe
Merci Nicolas

c'est nickel ! je mets le bout de code avec la condition si ça peut aider
Code:
$app = JFactory::getApplication(); $id = $app->getUserState('com_hikashop.shipping_address'); $class = hikashop_get('class.address'); $address = $class->get($id); $country = $address->address_country; if ($country == 'country_France_73'){ if(!count($plugins)){ return; } } else {
Cordialement :)
Last edit: 9 years 8 months ago by Jerome. Reason: [code] IS NICE

Please Log in or Create an account to join the conversation.

Time to create page: 0.213 seconds
Powered by Kunena Forum