Auteur Sujet: Prestashop, modifier la panier dans order.php  (Lu 11703 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ringot_emmanuel

  • Webmaster / Développeur
  • Administrator
  • Jr. Member
  • *****
  • Messages: 77
  • Karma: +0/-0
  • Sexe: Homme
  • Aide les autre et ils t'aiderons
    • Création de site internet
    • E-mail
Prestashop, modifier la panier dans order.php
« le: mars 30, 2012, 05:46:10 pm »
Prestashop, modifier la panier dans order.php

Lors de votre mise en place de prestashop vous allez devoir choisir votre panier, son contenu et surtout son apparence. Voici des actions qui peuvent vous aider et les version dans lesquelles cela marche :


Step 1 : Le panier

Comment enlever le transport ?

Par défaut Prestashop prend en compte de le calcul du total un montant de transport par défaut. Si vous faite juste disparaître la ligne vous risquez de vite vous retrouver avec une page qui mathématiquement sort de la 4é dimension. Pour ma part j'ajoute un petit plus.


1 - Dans le fichier shopping-cart.tpl il faut désactiver les lignes qui ne nous intéresse pas en les entourant de {* et *}. Les lignes du transport étant celles-ci :

{if $use_taxes}
     {if $priceDisplay}
          <tr class="cart_total_delivery" {if $shippingCost <= 0} style="display:none;"{/if}>
          <td colspan="5">{l s='Total shipping'}{if $display_tax_label} {l s='(tax excl.)'}{/if}{l s=':'}</td>
          <td class="price" id="total_shipping">{displayPrice price=$shippingCostTaxExc}</td>
          <td></td>
          </tr>
     {else}
          <tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none;"{/if}>
          <td colspan="5">{l s='Total shipping'}{if $display_tax_label} {l s='(tax incl.)'}{/if}{l s=':'}</td>
          <td class="price" id="total_shipping" >{displayPrice price=$shippingCost}</td>
          <td></td>
          </tr>
     {/if}
{else}
          <tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none;"{/if}>
          <td colspan="5">{l s='Total shipping:'}</td>
          <td class="price" id="total_shipping" >{displayPrice price=$shippingCostTaxExc}</td>
          <td></td>
          </tr>
{/if}

Mais un fois désactivé les totaux seront toujours calculé en incluant le transport.

2 - Modification des totaux par suppression du prix du transport

Le prix de transport est créer dans la variable $shippingCost avant d'être affiché, il suffit de soustraire cette variable à vos totaux.
exemple : {displayPrice price=$total_price} devient {displayPrice price=($total_price-$shippingCost)}


Ne pas oublier de faire tout les montant sauf la tva sinon cela ne collera pas.

Si vous avez des commentaires ou questions il vous suffit d'ouvrir un post dans cette catégorie.
L'originale de ce tutoriels est placé sur le site ici : http://www.formation-programmation.com/index.php?id=90
« Modifié: mars 29, 2014, 10:20:57 pm par Ringot_emmanuel »

Hors ligne Ringot_emmanuel

  • Webmaster / Développeur
  • Administrator
  • Jr. Member
  • *****
  • Messages: 77
  • Karma: +0/-0
  • Sexe: Homme
  • Aide les autre et ils t'aiderons
    • Création de site internet
    • E-mail
Re : Prestashop, modifier la panier dans order.php
« Réponse #1 le: mars 29, 2014, 10:16:11 pm »
Voici un message reçus par email, merci à tous de poser vos question sur le forum car par email cela ne sert pas à la masse.

Citer
Bonjour j ai vu votre page pour modifier le panier mais je n y arrive pas, pourriez vous m'aider s il vous plait
voici mes fichiers :
j ai enlever l'expédition dans mon panier, mais j ai toujours le cumule qui se fait dans mon total du panier.
j ai vu vos posts mais je ne retrouve pas tout la même chose.

www/modules/blockcart/blockcart.php

Citer
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.or...ses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.or...ses/afl-3.0.php Academic Free License (AFL 3.0)'.$this->displayName.'';
if (Tools::isSubmit('submitBlockCart'))
{
$ajax = Tools::getValue('cart_ajax');
if ($ajax != 0 && $ajax != 1)
$output .= '
'.$this->l('Ajax : Invalid choice.').'
';
else
Configuration::updateValue('PS_BLOCK_CART_AJAX', (int)($ajax));
$output .= '
'.$this->l('Settings updated').'
';
}
return $output.$this->displayForm();
}

public function displayForm()
{
return '

'.$this-'.$this->l('Settings').'

'.$this->l('Ajax cart').'

enabled.gif
disabled.gif

'.$this->l('Activate AJAX mode for cart (compatible with the default theme)').'




';
}

public function install()
{
if (
parent::install() == false
|| $this->registerHook('top') == false
|| $this->registerHook('header') == false
|| $this->registerHook('actionCartListOverride') == false
|| Configuration::updateValue('PS_BLOCK_CART_AJAX', 1) == false)
return false;
return true;
}

public function hookRightColumn($params)
{
if (Configuration::get('PS_CATALOG_MODE'))
return;

// @todo this variable seems not used
$this->smarty->assign('order_page', strpos($_SERVER['PHP_SELF'], 'order') !== false);
$this->assignContentVars($params);
return $this->display(__FILE__, 'blockcart.tpl');
}

public function hookLeftColumn($params)
{
return $this->hookRightColumn($params);
}

public function hookAjaxCall($params)
{
if (Configuration::get('PS_CATALOG_MODE'))
return;

$this->assignContentVars($params);
$res = $this->display(__FILE__, 'blockcart-json.tpl');
return $res;
}

public function hookActionCartListOverride($params)
{
if (!Configuration::get('PS_BLOCK_CART_AJAX'))
return;

$this->assignContentVars(array('cookie' => $this->context->cookie, 'cart' => $this->context->cart));
$params['json'] = $this->display(__FILE__, 'blockcart-json.tpl');
}

public function hookHeader()
{
if (Configuration::get('PS_CATALOG_MODE'))
return;

$this->context->controller->addCSS(($this->_path).'blockcart.css', 'all');
if ((int)(Configuration::get('PS_BLOCK_CART_AJAX')))
$this->context->controller->addJS(($this->_path).'ajax-cart.js');
}

public function hookTop($params)
{
return $this->hookRightColumn($params);
}
}
et mon fichier www/modules/blockcart/blockcart.tpl
{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.or...ses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.or...ses/afl-3.0.php Academic Free License (AFL 3.0)
{/if}


{l s='Cart' mod='blockcart'}
{if $ajax_allowed}
 
 
{/if}




{$cart_qties}
{l s='Products' mod='blockcart'}
1}style="display:none"{/if}>{l s='Product' mod='blockcart'}

{if $cart_qties > 0}
{if $priceDisplay == 1}
{convertPrice price=$cart->getOrderTotal(false)}
{else}
{convertPrice price=$cart->getOrderTotal(true)}
{/if}
{/if}

{l s='(empty)' mod='blockcart'}



{if $products}

{foreach from=$products item='product' name='myLoop'}
{assign var='productId' value=$product.id_product}
{assign var='productAttributeId' value=$product.id_product_attribute}

{$product.cart_quantity}x

{$product.name|truncate:13:'...'|escape:html:'UTF-8'}
{if !isset($customizedDatas.$productId.$productAttributeId) && (!isset($product.is_gift) || !$product.is_gift)} {/if}

{if !isset($product.is_gift) || !$product.is_gift}
{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice p="`$product.total`"}{else}{displayWtPrice p="`$product.total_wt`"}{/if}
{else}
{l s='Free!' mod='blockcart'}
{/if}


{if isset($product.attributes_small)}

{$product.attributes_small}
{/if}


{if isset($customizedDatas.$productId.$productAttributeId[$product.id_address_delivery])}
{if !isset($product.attributes_small)}{/if}


    {foreach from=$customizedDatas.$productId.$productAttributeId[$product.id_address_delivery] key='id_customization' item='customization' name='customizations'}


    {$customization.quantity}x{if isset($customization.datas.$CUSTOMIZE_TEXTFIELD.0)}
    {$customization.datas.$CUSTOMIZE_TEXTFIELD.0.value|replace:"
    ":" "|truncate:28:'...'|escape:html:'UTF-8'}
    {else}
    {l s='Customization #%d:' sprintf=$id_customization|intval mod='blockcart'}
    {/if}

    {/foreach}


{if !isset($product.attributes_small)}{/if}
{/if}

{if isset($product.attributes_small)}{/if}

{/foreach}

{/if}

{l s='No products' mod='blockcart'}

{if $discounts|@count > 0}

{foreach from=$discounts item=discount}
{if $discount.value_real > 0}
1x
{$discount.name|cat:' : '|cat:$discount.description|truncate:18:'...'|escape:'htmlall':'UTF-8'}
-{if $priceDisplay == 1}{convertPrice price=$discount.value_tax_exc}{else}{convertPrice price=$discount.value_real}{/if}

{if strlen($discount.code)}
delete.gif
{/if}


{/if}
{/foreach}

{/if}


{$shipping_cost}
{l s='Shipping' mod='blockcart'}


{if $show_wrapping}
{assign var='cart_flag' value='Cart::ONLY_WRAPPING'|constant}
{if $priceDisplay == 1}{convertPrice price=$cart->getOrderTotal(false, $cart_flag)}{else}{convertPrice price=$cart->getOrderTotal(true, $cart_flag)}{/if}
{l s='Wrapping' mod='blockcart'}


{/if}
{if $show_tax && isset($tax_cost)}
{$tax_cost}
{l s='Tax' mod='blockcart'}


{/if}
{$product_total}
{l s='Total' mod='blockcart'}

{if $use_taxes && $display_tax_label == 1 && $show_tax}
{if $priceDisplay == 0}


{l s='Prices include tax.' mod='blockcart'}

{/if}
{if $priceDisplay == 1}


{l s='Prices do not include tax.' mod='blockcart'}

{/if}
{/if}


{if $order_process == 'order'}{l s='Cart' mod='blockcart'}{/if}
{l s='Checkout' mod='blockcart'}

On va maintenant tacher de répondre à la dame  ;)
« Modifié: mars 29, 2014, 10:19:50 pm par Ringot_emmanuel »

Hors ligne Ringot_emmanuel

  • Webmaster / Développeur
  • Administrator
  • Jr. Member
  • *****
  • Messages: 77
  • Karma: +0/-0
  • Sexe: Homme
  • Aide les autre et ils t'aiderons
    • Création de site internet
    • E-mail
Re : Prestashop, modifier la panier dans order.php
« Réponse #2 le: mars 29, 2014, 10:23:44 pm »
Bonjour,

Nous allons essayer de vous aider mais pour commencer je vous invite à vous inscrire cela sera plus simple.

www/modules/blockcart/blockcart.php est un des fichiers contenant les scripts et nom le fichier de template à modifier.
Les fichier de template se termines par .tpl

Au plaisir de vous lire au plus vite.