From cb3850bd9fabba621255dbcd6945f2adef57e0e7 Mon Sep 17 00:00:00 2001 From: mDeflotte Date: Fri, 4 May 2012 14:21:02 +0000 Subject: [PATCH] [-] FO : #PSCFV-2197 - Show which products is assigned to which carrier, when multiple carriers are proposed for the one delivery method git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15077 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/Cart.php | 13 ++++++++++--- themes/default/order-carrier.tpl | 11 +++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/classes/Cart.php b/classes/Cart.php index b6e344cf7..8ef02ccd6 100644 --- a/classes/Cart.php +++ b/classes/Cart.php @@ -1853,11 +1853,13 @@ class CartCore extends ObjectModel $best_price_carrier[$id_carrier] = array( 'price_with_tax' => 0, 'price_without_tax' => 0, - 'package_list' => array() + 'package_list' => array(), + 'product_list' => array(), ); $best_price_carrier[$id_carrier]['price_with_tax'] += $carriers_price[$id_address][$id_package][$id_carrier]['with_tax']; $best_price_carrier[$id_carrier]['price_without_tax'] += $carriers_price[$id_address][$id_package][$id_carrier]['without_tax']; $best_price_carrier[$id_carrier]['package_list'][] = $id_package; + $best_price_carrier[$id_carrier]['product_list'] = array_merge($best_price_carrier[$id_carrier]['product_list'], $packages[$id_package]['product_list']); $best_price_carrier[$id_carrier]['instance'] = $carriers_instance[$id_carrier]; } @@ -1878,11 +1880,13 @@ class CartCore extends ObjectModel $best_grade_carrier[$id_carrier] = array( 'price_with_tax' => 0, 'price_without_tax' => 0, - 'package_list' => array() + 'package_list' => array(), + 'product_list' => array(), ); $best_grade_carrier[$id_carrier]['price_with_tax'] += $carriers_price[$id_address][$id_package][$id_carrier]['with_tax']; $best_grade_carrier[$id_carrier]['price_without_tax'] += $carriers_price[$id_address][$id_package][$id_carrier]['without_tax']; $best_grade_carrier[$id_carrier]['package_list'][] = $id_package; + $best_grade_carrier[$id_carrier]['product_list'] = array_merge($best_grade_carrier[$id_carrier]['product_list'], $packages[$id_package]['product_list']); $best_grade_carrier[$id_carrier]['instance'] = $carriers_instance[$id_carrier]; } @@ -1900,6 +1904,7 @@ class CartCore extends ObjectModel $price = 0; $key = ''; $package_list = array(); + $product_list = array(); $total_price_with_tax = 0; $total_price_without_tax = 0; $price_with_tax = 0; @@ -1911,6 +1916,7 @@ class CartCore extends ObjectModel $price_with_tax += $carriers_price[$id_address][$id_package][$id_carrier]['with_tax']; $price_without_tax += $carriers_price[$id_address][$id_package][$id_carrier]['without_tax']; $package_list[] = $id_package; + $product_list = array_merge($product_list, $package['product_list']); } if (!isset($delivery_option_list[$id_address][$key])) @@ -1923,7 +1929,8 @@ class CartCore extends ObjectModel 'price_with_tax' => $price_with_tax, 'price_without_tax' => $price_without_tax, 'instance' => $carriers_instance[$id_carrier], - 'package_list' => $package_list + 'package_list' => $package_list, + 'product_list' => $product_list, ) ) ); diff --git a/themes/default/order-carrier.tpl b/themes/default/order-carrier.tpl index beda5f35b..0f228f316 100644 --- a/themes/default/order-carrier.tpl +++ b/themes/default/order-carrier.tpl @@ -188,7 +188,14 @@ {if isset($carrier.instance->delay[$cookie->id_lang])} - {$carrier.instance->delay[$cookie->id_lang]} + {$carrier.instance->delay[$cookie->id_lang]}
+ {if count($carrier.product_list) <= 1} + ({l s="product concerned:"} + {else} + ({l s="products concerned:"} + {/if} + {* This foreach is on one line, to avoid tabulation in the title attribute of the acronym *} + {foreach $carrier.product_list as $product}{if $product@index == 4}...){/if}{else}{$product.name}{if !$product@last}, {else}){/if}{/if}{/foreach} {/if} @@ -198,7 +205,7 @@ {/foreach} -
{if isset($HOOK_EXTRACARRIER_ADDR)}{$HOOK_EXTRACARRIER_ADDR.$id_address}{/if}
+
{if isset($HOOK_EXTRACARRIER_ADDR) && isset($HOOK_EXTRACARRIER_ADDR.$id_address)}{$HOOK_EXTRACARRIER_ADDR.$id_address}{/if}
{foreachelse}

{foreach $cart->getDeliveryAddressesWithoutCarriers(true) as $address}