Připravil jsem úpravu zdrojového kódu, pomocí které se Vám zobrazí zbývající částka pro dopravu zdarma v bloku s košíkem. Na úpravu se můžete podívat na stránky
http://prestashop.demo2.cz/ (při nové verzi aplikace nebude ukázka aktuální).
Příloha:
prestashop_kosik_doprava_zdarma.jpg [ 29.29 KiB | Zobrazeno 4625 krát ]
Seznam souborů, které je potřeba upravit:
- modules/blockcart/ajax-cart.js
- modules/blockcart/blockcart.php
- modules/blockcart/blockcart.tpl
- modules/blockcart/blockcart-json.tpl
-
Zde je postup úpravy:
V souboru
modules/blockcart/ajax-cart.js najděte část s tímto kódem:
Kód:
$('.ajax_cart_total').text(jsonData.productTotal);
$('.ajax_cart_shipping_cost').text(jsonData.shippingCost);
$('.cart_block_wrapping_cost').text(jsonData.wrappingCost);
$('.ajax_block_cart_total').text(jsonData.total);
a před ní přidejte následující kód:
Kód:
if(jsonData.freeShip > 0)
{
$('#cart-free-ship').fadeIn('slow');
$('.free_ship').text(jsonData.freeShipPrice);
}
else
{
$('#cart-free-ship').fadeOut('slow');
}
V souboru
modules/blockcart/blockcart.php najděte část s tímto kódem:
Kód:
$smarty->assign(array(
'products' => $products,
'customizedDatas' => Product::getAllCustomizedDatas(intval($params['cart']->id)),
'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_,
'discounts' => $params['cart']->getDiscounts(false, $usetax),
'nb_total_products' => intval($nbTotalProducts),
'shipping_cost' => Tools::displayPrice($params['cart']->getOrderTotal($usetax, 5), $currency),
'show_wrapping' => $wrappingCost > 0 ? true : false,
'wrapping_cost' => Tools::displayPrice($wrappingCost, $currency),
'product_total' => Tools::displayPrice($params['cart']->getOrderTotal($usetax, 4), $currency),
'total' => Tools::displayPrice($params['cart']->getOrderTotal($usetax), $currency),
'id_carrier' => intval($params['cart']->id_carrier),
'ajax_allowed' => intval(Configuration::get('PS_BLOCK_CART_AJAX')) == 1 ? true : false
));
a před ní přidejte tento kód:
Kód:
global $cart;
$summary = $cart->getSummaryDetails();
if ($free_ship = Tools::convertPrice(floatval(Configuration::get('PS_SHIPPING_FREE_PRICE')), new Currency(intval($cart->id_currency))))
{
$discounts = $cart->getDiscounts();
$total_free_ship = $free_ship - ($summary['total_products_wt'] + $summary['total_discounts']);
foreach ($discounts as $discount)
if ($discount['id_discount_type'] == 3)
{
$total_free_ship = 0;
break ;
}
$smarty->assign('free_ship', $total_free_ship);
}
V souboru
modules/blockcart/blockcart.tpl najděte část s tímto kódem:
Kód:
<p id="cart-buttons">
<a href="{$base_dir_ssl}order.php" class="button_small" title="{l s='Cart' mod='blockcart'}">{l s='Cart' mod='blockcart'}</a>
<a href="{$base_dir_ssl}order.php?step=1" id="button_order_cart" class="exclusive" title="{l s='Check out' mod='blockcart'}">{l s='Check out' mod='blockcart'}</a>
</p>
a před ní přidejte tento kód, v kterém si můžete změnit text v košíku :
Kód:
{if $free_ship > 0}
<span id="cart-free-ship"><span>Pro dopravu zdarma ještě objednejte za:</span><span class="free_ship">{displayPrice price=$free_ship}</span></span>
{/if}
V souboru
modules/blockcart/blockcart-json.tpl najděte část s tímto kódem:
Kód:
'shippingCost': '{$shipping_cost|html_entity_decode:2:'UTF-8'}',
'wrappingCost': '{$wrapping_cost|html_entity_decode:2:'UTF-8'}',
'nbTotalProducts': '{$nb_total_products}',
'total': '{$total|html_entity_decode:2:'UTF-8'}',
'productTotal': '{$product_total|html_entity_decode:2:'UTF-8'}',
a za ní přidejte na nový řádek tento kód:
Kód:
'freeShipPrice': '{convertPrice|html_entity_decode:2:'UTF-8' price=$free_ship}',
'freeShip': '{$free_ship|html_entity_decode:2:'UTF-8'}',