[-] 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 56932f40e3
commit 50fb9bc24f
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
{
$carrier_list = array();
$id_address = (!is_null($id_address_delivery) && $id_address_delivery != 0) ? $id_address_delivery : Context::getContext()->cart->id_address_delivery;
$address = new Address($id_address);
$id_zone = Address::getZoneById($address->id);
$id_address = (int)((!is_null($id_address_delivery) && $id_address_delivery != 0) ? $id_address_delivery : Context::getContext()->cart->id_address_delivery);
if ($id_address)
{
$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());
foreach ($carriers as $carrier)
$carrier_list[] = $carrier['id_carrier'];
+1
View File
@@ -370,6 +370,7 @@ class OrderOpcControllerCore extends ParentOrderController
$carriers = $this->context->cart->simulateCarriersOutput();
$this->context->smarty->assign(array(
'HOOK_EXTRACARRIER' => null,
'HOOK_EXTRACARRIER_ADDR' => null,
'HOOK_BEFORECARRIER' => Hook::exec('displayBeforeCarrier', array(
'carriers' => $carriers,
'checked' => $this->context->cart->simulateCarrierSelectedOutput(),
+1
View File
@@ -113,6 +113,7 @@
{if isset($address_collection[$id_address])}
{l s='Choose a shipping option for the address: '}{$address_collection[$id_address]->alias}
{else}
{l s='Choose a shipping option'}
{/if}
</h3>
<div class="delivery_options">