[-] BO : #PSTEST-590 - Fix bug with undefined smarty variable "HOOK_EXTRACARRIER_ADDR" + By default use the default country of the shop to calculate shipping cost

This commit is contained in:
mDeflotte
2012-01-30 08:07:49 +00:00
parent 6142d89798
commit b549cdccbb
3 changed files with 13 additions and 3 deletions
+11 -3
View File
@@ -1057,9 +1057,17 @@ class CarrierCore extends ObjectModel
if (empty($carrier_list)) // No carriers defined, get all available carriers if (empty($carrier_list)) // No carriers defined, get all available carriers
{ {
$carrier_list = array(); $carrier_list = array();
$id_address = (!is_null($id_address_delivery) && $id_address_delivery != 0) ? $id_address_delivery : Context::getContext()->cart->id_address_delivery; $id_address = (int)((!is_null($id_address_delivery) && $id_address_delivery != 0) ? $id_address_delivery : Context::getContext()->cart->id_address_delivery);
$address = new Address($id_address); if ($id_address)
$id_zone = Address::getZoneById($address->id); {
$address = new Address($id_address);
$id_zone = Address::getZoneById($address->id);
}
else
{
$country = new Country(Context::getContext()->shop->getAddress()->id_country);
$id_zone = $country->id_zone;
}
$carriers = Carrier::getCarriersForOrder($id_zone, Context::getContext()->customer->getGroups()); $carriers = Carrier::getCarriersForOrder($id_zone, Context::getContext()->customer->getGroups());
foreach ($carriers as $carrier) foreach ($carriers as $carrier)
$carrier_list[] = $carrier['id_carrier']; $carrier_list[] = $carrier['id_carrier'];
+1
View File
@@ -370,6 +370,7 @@ class OrderOpcControllerCore extends ParentOrderController
$carriers = $this->context->cart->simulateCarriersOutput(); $carriers = $this->context->cart->simulateCarriersOutput();
$this->context->smarty->assign(array( $this->context->smarty->assign(array(
'HOOK_EXTRACARRIER' => null, 'HOOK_EXTRACARRIER' => null,
'HOOK_EXTRACARRIER_ADDR' => null,
'HOOK_BEFORECARRIER' => Hook::exec('displayBeforeCarrier', array( 'HOOK_BEFORECARRIER' => Hook::exec('displayBeforeCarrier', array(
'carriers' => $carriers, 'carriers' => $carriers,
'checked' => $this->context->cart->simulateCarrierSelectedOutput(), 'checked' => $this->context->cart->simulateCarrierSelectedOutput(),
+1
View File
@@ -113,6 +113,7 @@
{if isset($address_collection[$id_address])} {if isset($address_collection[$id_address])}
{l s='Choose a shipping option for the address: '}{$address_collection[$id_address]->alias} {l s='Choose a shipping option for the address: '}{$address_collection[$id_address]->alias}
{else} {else}
{l s='Choose a shipping option'}
{/if} {/if}
</h3> </h3>
<div class="delivery_options"> <div class="delivery_options">