[-] BO : #PSCFV-3055 - Part 1 : Improving displaying of resume cart (payment step)

[-] BO : #PSCFV-3055 - Part 1 : If there is a rules with free shipping, shipping prices are not displayed

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16234 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
mDeflotte
2012-07-05 12:40:40 +00:00
parent 98a0e4ddc1
commit a1311dba2d
7 changed files with 77 additions and 32 deletions
-1
View File
@@ -2797,7 +2797,6 @@ class CartCore extends ObjectModel
'formattedAddresses' => $formatted_addresses,
'products' => array_values($products),
'gift_products' => $gift_products,
//'products_raw' => $this->getProducts(false),
'discounts' => $cart_rules,
'is_virtual_cart' => (int)$this->isVirtualCart(),
'total_discounts' => $total_discounts,
+16 -3
View File
@@ -238,7 +238,7 @@ class OrderControllerCore extends ParentOrderController
}
}
/*
/**
* Manage address
*/
public function processAddress()
@@ -328,8 +328,21 @@ class OrderControllerCore extends ParentOrderController
parent::_assignCarrier();
// Assign wrapping and TOS
$this->_assignWrappingAndTOS();
$this->context->smarty->assign('is_guest', (isset($this->context->customer->is_guest) ? $this->context->customer->is_guest : 0));
// If a rule offer free-shipping, force hidding shipping prices
$free_shipping = false;
foreach ($this->context->cart->getCartRules() as $rule)
if ($rule['free_shipping'])
{
$free_shipping = true;
break;
}
$this->context->smarty->assign(
array(
'free_shipping' => $free_shipping,
'is_guest' => (isset($this->context->customer->is_guest) ? $this->context->customer->is_guest : 0)
));
}
/**
+10
View File
@@ -294,8 +294,18 @@ class OrderOpcControllerCore extends ParentOrderController
$countries = Carrier::getDeliveredCountries($this->context->language->id, true, true);
else
$countries = Country::getCountries($this->context->language->id, true);
// If a rule offer free-shipping, force hidding shipping prices
$free_shipping = false;
foreach ($this->context->cart->getCartRules() as $rule)
if ($rule['free_shipping'])
{
$free_shipping = true;
break;
}
$this->context->smarty->assign(array(
'free_shipping' => $free_shipping,
'isLogged' => $this->isLogged,
'isGuest' => isset($this->context->cookie->is_guest) ? $this->context->cookie->is_guest : 0,
'countries' => $countries,
+6 -3
View File
@@ -242,7 +242,8 @@ table.table_block {
margin-bottom:20px;
width:100%;
border:1px solid #999;
border-bottom:none
border-bottom:none;
background:white;
}
table.std th,
table.table_block th {
@@ -675,7 +676,7 @@ table#cart_summary td {
vertical-align:top
}
table#cart_summary td.cart_delete,
table#cart_summary td.price_discount_del {border-right:none}
table#cart_summary td.price_discount_del {border-right:none;text-align: center}
table#cart_summary .last_item td {border-bottom:1px solid #999}
@@ -699,9 +700,11 @@ table#cart_summary tr.customization.even {
table#cart_summary tr ul {
list-style: none;
}
table#cart_summary .cart_product {
table#cart_summary .cart_product {
width:80px;
text-align:center
}table#cart_summary tbody tr:last-child td {
border-bottom: 1px solid #999;
}
table#cart_summary .cart_product img {border:1px solid #ccc}
table#cart_summary .cart_description {
+1 -1
View File
@@ -158,7 +158,7 @@
</td>
<td>
<div class="delivery_option_price">
{if $option.total_price_with_tax}
{if $option.total_price_with_tax && !$free_shipping}
{if $use_taxes == 1}
{convertPrice price=$option.total_price_with_tax} {l s='(tax incl.)'}
{else}
+36 -18
View File
@@ -64,7 +64,6 @@
<tr>
<th class="cart_product first_item">{l s='Product'}</th>
<th class="cart_description item">{l s='Description'}</th>
<th class="cart_ref item">{l s='Ref.'}</th>
<th class="cart_availability item">{l s='Avail.'}</th>
<th class="cart_unit item">{l s='Unit price'}</th>
<th class="cart_quantity item">{l s='Qty'}</th>
@@ -75,23 +74,23 @@
{if $use_taxes}
{if $priceDisplay}
<tr class="cart_total_price">
<td colspan="6">{if $display_tax_label}{l s='Total products (tax excl.):'}{else}{l s='Total products:'}{/if}</td>
<td colspan="5">{if $display_tax_label}{l s='Total products (tax excl.):'}{else}{l s='Total products:'}{/if}</td>
<td class="price" id="total_product">{displayPrice price=$total_products}</td>
</tr>
{else}
<tr class="cart_total_price">
<td colspan="6">{if $display_tax_label}{l s='Total products (tax incl.):'}{else}{l s='Total products:'}{/if}</td>
<td colspan="5">{if $display_tax_label}{l s='Total products (tax incl.):'}{else}{l s='Total products:'}{/if}</td>
<td class="price" id="total_product">{displayPrice price=$total_products_wt}</td>
</tr>
{/if}
{else}
<tr class="cart_total_price">
<td colspan="6">{l s='Total products:'}</td>
<td colspan="5">{l s='Total products:'}</td>
<td class="price" id="total_product">{displayPrice price=$total_products}</td>
</tr>
{/if}
<tr class="cart_total_voucher" {if $total_discounts == 0}style="display: none;"{/if}>
<td colspan="6">
<td colspan="5">
{if $use_taxes}
{if $priceDisplay}
{if $display_tax_label}{l s='Total vouchers (tax excl.):'}{else}{l s='Total vouchers:'}{/if}
@@ -115,7 +114,7 @@
</td>
</tr>
<tr class="cart_total_voucher" {if $total_wrapping == 0}style="display: none;"{/if}>
<td colspan="6">
<td colspan="5">
{if $use_taxes}
{if $priceDisplay}
{if $display_tax_label}{l s='Total gift-wrapping (tax excl.):'}{else}{l s='Total gift-wrapping:'}{/if}
@@ -141,18 +140,18 @@
{if $use_taxes}
{if $priceDisplay}
<tr class="cart_total_delivery" {if $shippingCost <= 0} style="display:none;"{/if}>
<td colspan="6">{if $display_tax_label}{l s='Total shipping (tax excl.):'}{else}{l s='Total shipping:'}{/if}}</td>
<td colspan="5">{if $display_tax_label}{l s='Total shipping (tax excl.):'}{else}{l s='Total shipping:'}{/if}}</td>
<td class="price" id="total_shipping">{displayPrice price=$shippingCostTaxExc}</td>
</tr>
{else}
<tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none;"{/if}>
<td colspan="6">{if $display_tax_label}{l s='Total shipping (tax incl.):'}{else}{l s='Total shipping:'}{/if}</td>
<td colspan="5">{if $display_tax_label}{l s='Total shipping (tax incl.):'}{else}{l s='Total shipping:'}{/if}</td>
<td class="price" id="total_shipping" >{displayPrice price=$shippingCost}</td>
</tr>
{/if}
{else}
<tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none;"{/if}>
<td colspan="6">{l s='Total shipping:'}</td>
<td colspan="5">{l s='Total shipping:'}</td>
<td class="price" id="total_shipping" >{displayPrice price=$shippingCostTaxExc}</td>
</tr>
{/if}
@@ -223,6 +222,7 @@
{assign var='quantityDisplayed' value=0}
{assign var='cannotModify' value=1}
{assign var='odd' value=$product@iteration%2}
{assign var='noDeleteButton' value=1}
{* Display the product line *}
{include file="$tpl_dir./shopping-cart-product-line.tpl"}
{* Then the customized datas ones*}
@@ -234,12 +234,25 @@
{if $type == $CUSTOMIZE_FILE}
<div class="customizationUploaded">
<ul class="customizationUploaded">
{foreach from=$datas item='picture'}<li><img src="{$pic_dir}{$picture.value}_small" alt="" class="customizationUploaded" /></li>{/foreach}
{foreach from=$datas item='picture'}
<li>
<img src="{$pic_dir}{$picture.value}_small" alt="" class="customizationUploaded" />
</li>
{/foreach}
</ul>
</div>
{elseif $type == $CUSTOMIZE_TEXTFIELD}
<ul class="typedText">
{foreach from=$datas item='textField' name='typedText'}<li>{if $textField.name}{l s='%s:' sprintf=$textField.name}{else}{l s='Text #%s:' sprintf=$smarty.foreach.typedText.index+1}{/if} {$textField.value}</li>{/foreach}
{foreach from=$datas item='textField' name='typedText'}
<li>
{if $textField.name}
{l s='%s:' sprintf=$textField.name}
{else}
{l s='Text #%s:' sprintf=$smarty.foreach.typedText.index+1}
{/if}
{$textField.value}
</li>
{/foreach}
</ul>
{/if}
{/foreach}
@@ -287,18 +300,23 @@
{include file="./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}
{/foreach}
</tbody>
{if sizeof($discounts)}
{if count($discounts)}
<tbody>
{foreach from=$discounts item=discount name=discountLoop}
<tr class="cart_discount {if $smarty.foreach.discountLoop.last}last_item{elseif $smarty.foreach.discountLoop.first}first_item{else}item{/if}" id="cart_discount_{$discount.id_discount}">
<td class="cart_discount_name" colspan="2">{$discount.name}</td>
<td class="cart_discount_description" colspan="3">{$discount.description}</td>
<td class="cart_discount_delete"><a href="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}?deleteDiscount={$discount.id_discount}" title="{l s='Delete'}"><img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" class="icon" width="11" height="13" /></a></td>
<td class="cart_discount_price"><span class="price-discount">
{if $discount.value_real > 0}
{if !$priceDisplay}{displayPrice price=$discount.value_real*-1}{else}{displayPrice price=$discount.value_tax_exc*-1}{/if}
{/if}
</span></td>
<td class="cart_discount_price">
<span class="price-discount">
{if $discount.value_real > 0}
{if !$priceDisplay}
{displayPrice price=$discount.value_real*-1}
{else}
{displayPrice price=$discount.value_tax_exc*-1}
{/if}
{/if}
</span>
</td>
</tr>
{/foreach}
</tbody>
@@ -93,11 +93,13 @@
{/if}
</span>
</td>
<td class="cart_delete">
{if (!isset($customizedDatas.$productId.$productAttributeId) OR $quantityDisplayed) > 0 && empty($product.gift)}
<div>
<a rel="nofollow" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_0_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "delete&amp;id_product={$product.id_product|intval}&amp;ipa={$product.id_product_attribute|intval}&amp;id_address_delivery={$product.id_address_delivery|intval}&amp;token={$token_cart}")}">{l s='Delete'}</a>
</div>
{if !isset($noDeleteButton) || !$noDeleteButton}
<td class="cart_delete">
{if (!isset($customizedDatas.$productId.$productAttributeId) OR $quantityDisplayed) > 0 && empty($product.gift)}
<div>
<a rel="nofollow" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_0_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "delete&amp;id_product={$product.id_product|intval}&amp;ipa={$product.id_product_attribute|intval}&amp;id_address_delivery={$product.id_address_delivery|intval}&amp;token={$token_cart}")}">{l s='Delete'}</a>
</div>
{/if}
</td>
{/if}
</td>
</tr>