Jump to content
thierry2

La ligne frais de manutention dans le panier

Recommended Posts

Bonsoir, voila deux jours que je cherche ....

Comment séparer les frais de manutention avec les frais de port dans le panier?

EX 1 ligne article

1 ligne frais de logistique

1 ligne de frais de port .Merci

 

Je suis sur la 1.4.10.

Edited by thierry2 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour, je revient sur mon problème,personne ne c'est faire ça ! mince alors ....

Share this post


Link to post
Share on other sites

Bonjour je revient a la charge,lol quelqu'un pourrais me donner la solution merci. 

Share this post


Link to post
Share on other sites

Même problème !

Je vois dans cart.php  :

// Adding handling charges
		if (isset($configuration['PS_SHIPPING_HANDLING']) && $carrier->shipping_handling)
			$shipping_cost += (float)$configuration['PS_SHIPPING_HANDLING'];

Est-ce que c'est une piste ?

Share this post


Link to post
Share on other sites

C'est la bonne piste il me semble oui, regarde dans php ce que veut dire le signe =+ pour comprendre comment adapter ton code.

Je ne suis pas allé voir le code en détail, mais à priori, dans le fichier php il faudrait :

- Supprimer le code cité plus haut.

- Créer un nouvelle variable du type :

$handling_charges = (float)$configuration['PS_SHIPPING_HANDLING'];

Pour ensuite l'afficher dans le fichier tpl correpondant.

Share this post


Link to post
Share on other sites

Merci pour ton aide !

J'ai plutôt ajouté une ligne (car pour l'instant je v garder le reste).

 

ça donne ça :

if (isset($configuration['PS_SHIPPING_HANDLING']) && $carrier->shipping_handling)
{
	$shipping_cost += (float)$configuration['PS_SHIPPING_HANDLING'];
	$handling_charges = (float)$configuration['PS_SHIPPING_HANDLING'];	
}

Mais dans le tpl si je met : {$handling_charges}

(Je l'ai mis au même endroit que le shipping_cost pour être sur)

Il ne m'affiche rien ! Je ne dois pas rajouter quelque chose pour "l'envoyer" ? (Je l'ai juste déclaré la, non ?)

Share this post


Link to post
Share on other sites

Oui, c'est parce que de la manière dont on a procédé, la nouvelle variable est créée dans la fonction "getPackageShippingCost" qui ne retourne que $shipping_cost.

Il faudrait à la fin de la fonction modifier ça :

		return $shipping_cost;

par ça :

		return array(
			'shipping_cost' => $shipping_cost,
			'handling_charges' => $handling_charges,
		);

Share this post


Link to post
Share on other sites

Merci pour ta réponse !

 

Par contre ça ne fonctionne pas et ça à l'air d'être à cause de ça :

Cache::store($cache_id, $shipping_cost);

Peut importe ce que je met dans le return : return $handling_charges; ou return $shipping_cost;   (J'ai mis de coté le tableau proposé pour le moment)

Il me retourne la valeur présente dans ce cache !

 

Je dois envoyer les 2 j'imagine ? Mais comment ?

Share this post


Link to post
Share on other sites

Bonjour,

Etant confronté à la même problématique je me permets de compléter cette réponse partielle.

Pour ma part j'ai surchargé la fonction getSummaryDetails() de la classe Cart.php :

$configuration = Configuration::getMultiple(array(
                    'PS_SHIPPING_FREE_PRICE',
                    'PS_SHIPPING_HANDLING',
                    'PS_SHIPPING_METHOD',
                    'PS_SHIPPING_FREE_WEIGHT'
        ));
        $carrier = new Carrier($this->id_carrier, $id_lang);
        $shipping_handling = 0;
        if (isset($configuration['PS_SHIPPING_HANDLING']) && $carrier->shipping_handling) {
            $shipping_handling = (float) $configuration['PS_SHIPPING_HANDLING'];
            $base_total_tax_inc += $shipping_handling; // ajout des frais au prix total affiché (variable total_price)
        }


        $summary = array(
            'shipping_handling' => $shipping_handling,
            ...

Cette partie permet de récupérer la nouvelle variable $shipping_handling dans les TPLs du tunnel de commande du thème utilisé et de les afficher sur une ligne. Comme ci-dessous dans le TPL du panier shopping-cart.tpl :

{if $shipping_handling > 0}
            <tr class="cart_shipping_handling">
                <td colspan="{$col_span_subtotal}" class="text-right">Frais de manutention</td>
                <td colspan="2" class="price" id="total_shipping" >{displayPrice price=$shipping_handling}</td>
            </tr>
        {/if}

En espérant que cela puisse en aider l'un(e) ou l'autre.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More