[+] MO: Add Module->smartyAssign method, in order to assign variables with module name as prefix in module's templates

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8718 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2011-09-22 12:05:49 +00:00
parent b24d2fa274
commit 2dbea99b61
19 changed files with 174 additions and 155 deletions
+16 -16
View File
@@ -1,5 +1,5 @@
{*
* 2007-2011 PrestaShop
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
@@ -26,8 +26,8 @@
{ldelim}
"products": [
{if $products}
{foreach from=$products item=product name='products'}
{if $blockcart_products}
{foreach from=$blockcart_products item=product name='products'}
{assign var='productId' value=$product.id_product}
{assign var='productAttributeId' value=$product.id_product_attribute}
{ldelim}
@@ -44,11 +44,11 @@
{else}
"hasAttributes": false,
{/if}
"hasCustomizedDatas": {if isset($customizedDatas.$productId.$productAttributeId)}true{else}false{/if},
"hasCustomizedDatas": {if isset($blockcart_customizedDatas.$productId.$productAttributeId)}true{else}false{/if},
"customizedDatas":[
{if isset($customizedDatas.$productId.$productAttributeId)}
{foreach from=$customizedDatas.$productId.$productAttributeId key='id_customization' item='customization' name='customizedDatas'}{ldelim}
{if isset($blockcart_customizedDatas.$productId.$productAttributeId)}
{foreach from=$blockcart_customizedDatas.$productId.$productAttributeId key='id_customization' item='customization' name='customizedDatas'}{ldelim}
{* This empty line was made in purpose (product addition debug), please leave it here *}
"customizationId": {$id_customization},
@@ -80,7 +80,7 @@
],
"discounts": [
{if $discounts}{foreach from=$discounts item=discount name='discounts'}
{if $blockcart_discounts}{foreach from=$blockcart_discounts item=discount name='discounts'}
{ldelim}
"id": "{$discount.id_discount}",
"name": "{$discount.name|cat:' : '|cat:$discount.description|truncate:18:'...'|addslashes|replace:'\\\'':'\''}",
@@ -93,19 +93,19 @@
{/foreach}{/if}
],
"shippingCost": "{$shipping_cost|html_entity_decode:2:'UTF-8'}",
{if isset($tax_cost)}
"taxCost": "{$tax_cost|html_entity_decode:2:'UTF-8'}",
"shippingCost": "{$blockcart_shipping_cost|html_entity_decode:2:'UTF-8'}",
{if isset($blockcart_tax_cost)}
"taxCost": "{$blockcart_tax_cost|html_entity_decode:2:'UTF-8'}",
{/if}
"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'}",
"wrappingCost": "{$blockcart_wrapping_cost|html_entity_decode:2:'UTF-8'}",
"nbTotalProducts": "{$blockcart_nb_total_products}",
"total": "{$blockcart_total|html_entity_decode:2:'UTF-8'}",
"productTotal": "{$blockcart_product_total|html_entity_decode:2:'UTF-8'}",
{if isset($errors) && $errors}
{if isset($blockcart_errors) && $blockcart_errors}
"hasError" : true,
"errors" : [
{foreach from=$errors key=k item=error name='errors'}
{foreach from=$blockcart_errors key=k item=error name='errors'}
"{$error|addslashes|html_entity_decode:2:'UTF-8'}"
{if !$smarty.foreach.errors.last},{/if}
{/foreach}
+9 -8
View File
@@ -44,7 +44,7 @@ class BlockCart extends Module
$this->description = $this->l('Adds a block containing the customer\'s shopping cart.');
}
public function smartyAssigns(&$smarty, &$params)
public function assignContentVars(&$params)
{
global $errors;
@@ -77,10 +77,10 @@ class BlockCart extends Module
if ($useTax AND Configuration::get('PS_TAX_DISPLAY') == 1)
{
$totalToPayWithoutTaxes = $params['cart']->getOrderTotal(false);
$smarty->assign('tax_cost', Tools::displayPrice($totalToPay - $totalToPayWithoutTaxes, $currency));
$this->smartyAssign('tax_cost', Tools::displayPrice($totalToPay - $totalToPayWithoutTaxes, $currency));
}
$smarty->assign(array(
$this->smartyAssign(array(
'products' => $products,
'customizedDatas' => Product::getAllCustomizedDatas((int)($params['cart']->id)),
'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
@@ -98,9 +98,9 @@ class BlockCart extends Module
'ajax_allowed' => (int)(Configuration::get('PS_BLOCK_CART_AJAX')) == 1 ? true : false
));
if (sizeof($errors))
$smarty->assign('errors', $errors);
$this->smartyAssign('errors', $errors);
if(isset($this->context->cookie->ajax_blockcart_display))
$smarty->assign('colapseExpandStatus', $this->context->cookie->ajax_blockcart_display);
$this->smartyAssign('colapseExpandStatus', $this->context->cookie->ajax_blockcart_display);
}
public function getContent()
@@ -159,8 +159,9 @@ class BlockCart extends Module
if (Configuration::get('PS_CATALOG_MODE'))
return;
$this->context->smarty->assign('order_page', strpos($_SERVER['PHP_SELF'], 'order') !== false);
$this->smartyAssigns($this->context->smarty, $params);
// @todo this variable seems not used
$this->smartyAssign('order_page', strpos($_SERVER['PHP_SELF'], 'order') !== false);
$this->assignContentVars($params);
return $this->display(__FILE__, 'blockcart.tpl');
}
@@ -174,7 +175,7 @@ class BlockCart extends Module
if (Configuration::get('PS_CATALOG_MODE'))
return;
$this->smartyAssigns($this->context->smarty, $params);
$this->assignContentVars($params);
$res = $this->display(__FILE__, 'blockcart-json.tpl');
return $res;
}
+28 -28
View File
@@ -27,9 +27,9 @@
{*************************************************************************************************************************************}
{* IMPORTANT : If you change some data here, you have to report these changes in the ./blockcart-json.js (to let ajaxCart available) *}
{*************************************************************************************************************************************}
{if $ajax_allowed}
{if $blockcart_ajax_allowed}
<script type="text/javascript">
var CUSTOMIZE_TEXTFIELD = {$CUSTOMIZE_TEXTFIELD};
var CUSTOMIZE_TEXTFIELD = {$blockcart_CUSTOMIZE_TEXTFIELD};
var customizationIdMessage = '{l s='Customization #' mod='blockcart' js=1}';
var removingLinkText = '{l s='remove this product from my cart' mod='blockcart' js=1}';
</script>
@@ -38,15 +38,15 @@ var removingLinkText = '{l s='remove this product from my cart' mod='blockcart'
<!-- MODULE Block cart -->
<div id="cart_block" class="block exclusive">
<h4>
<a href="{$link->getPageLink("$order_process", true)}">{l s='Cart' mod='blockcart'}</a>
{if $ajax_allowed}
<span id="block_cart_expand" {if isset($colapseExpandStatus) && $colapseExpandStatus eq 'expanded' || !isset($colapseExpandStatus)}class="hidden"{/if}>&nbsp;</span>
<span id="block_cart_collapse" {if isset($colapseExpandStatus) && $colapseExpandStatus eq 'collapsed'}class="hidden"{/if}>&nbsp;</span>
<a href="{$link->getPageLink("$blockcart_order_process", true)}">{l s='Cart' mod='blockcart'}</a>
{if $blockcart_ajax_allowed}
<span id="block_cart_expand" {if isset($blockcart_colapseExpandStatus) && $blockcart_colapseExpandStatus eq 'expanded' || !isset($blockcart_colapseExpandStatus)}class="hidden"{/if}>&nbsp;</span>
<span id="block_cart_collapse" {if isset($blockcart_colapseExpandStatus) && $blockcart_colapseExpandStatus eq 'collapsed'}class="hidden"{/if}>&nbsp;</span>
{/if}
</h4>
<div class="block_content">
<!-- block summary -->
<div id="cart_block_summary" class="{if isset($colapseExpandStatus) && $colapseExpandStatus eq 'expanded' || !$ajax_allowed || !isset($colapseExpandStatus)}collapsed{else}expanded{/if}">
<div id="cart_block_summary" class="{if isset($blockcart_colapseExpandStatus) && $blockcart_colapseExpandStatus eq 'expanded' || !$blockcart_ajax_allowed || !isset($blockcart_colapseExpandStatus)}collapsed{else}expanded{/if}">
<span class="ajax_cart_quantity" {if $cart_qties <= 0}style="display:none;"{/if}>{$cart_qties}</span>
<span class="ajax_cart_product_txt_s" {if $cart_qties <= 1}style="display:none"{/if}>{l s='products' mod='blockcart'}</span>
<span class="ajax_cart_product_txt" {if $cart_qties > 1}style="display:none"{/if}>{l s='product' mod='blockcart'}</span>
@@ -54,17 +54,17 @@ var removingLinkText = '{l s='remove this product from my cart' mod='blockcart'
<span class="ajax_cart_no_product" {if $cart_qties != 0}style="display:none"{/if}>{l s='(empty)' mod='blockcart'}</span>
</div>
<!-- block list of products -->
<div id="cart_block_list" class="{if isset($colapseExpandStatus) && $colapseExpandStatus eq 'expanded' || !$ajax_allowed || !isset($colapseExpandStatus)}expanded{else}collapsed{/if}">
{if $products}
<div id="cart_block_list" class="{if isset($blockcart_colapseExpandStatus) && $blockcart_colapseExpandStatus eq 'expanded' || !$blockcart_ajax_allowed || !isset($blockcart_colapseExpandStatus)}expanded{else}collapsed{/if}">
{if $blockcart_products}
<dl class="products">
{foreach from=$products item='product' name='myLoop'}
{foreach from=$blockcart_products item='product' name='myLoop'}
{assign var='productId' value=$product.id_product}
{assign var='productAttributeId' value=$product.id_product_attribute}
<dt id="cart_block_product_{$product.id_product}{if $product.id_product_attribute}_{$product.id_product_attribute}{/if}" class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}">
<span class="quantity-formated"><span class="quantity">{$product.cart_quantity}</span>x</span>
<a class="cart_block_product_name" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category, null, null, $product.id_shop)}" title="{$product.name|escape:html:'UTF-8'}">
{$product.name|truncate:13:'...'|escape:html:'UTF-8'}</a>
<span class="remove_link">{if !isset($customizedDatas.$productId.$productAttributeId)}<a rel="nofollow" class="ajax_cart_block_remove_link" href="{$link->getPageLink('cart', true, NULL, "delete&amp;id_product={$product.id_product}&amp;ipa={$product.id_product_attribute}&amp;token={$static_token}")}" title="{l s='remove this product from my cart' mod='blockcart'}">&nbsp;</a>{/if}</span>
<span class="remove_link">{if !isset($blockcart_customizedDatas.$productId.$productAttributeId)}<a rel="nofollow" class="ajax_cart_block_remove_link" href="{$link->getPageLink('cart', true, NULL, "delete&amp;id_product={$product.id_product}&amp;ipa={$product.id_product_attribute}&amp;token={$static_token}")}" title="{l s='remove this product from my cart' mod='blockcart'}">&nbsp;</a>{/if}</span>
<span class="price">{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice p="`$product.total`"}{else}{displayWtPrice p="`$product.total_wt`"}{/if}</span>
</dt>
{if isset($product.attributes_small)}
@@ -73,14 +73,14 @@ var removingLinkText = '{l s='remove this product from my cart' mod='blockcart'
{/if}
<!-- Customizable datas -->
{if isset($customizedDatas.$productId.$productAttributeId)}
{if isset($blockcart_customizedDatas.$productId.$productAttributeId)}
{if !isset($product.attributes_small)}<dd id="cart_block_combination_of_{$product.id_product}{if $product.id_product_attribute}_{$product.id_product_attribute}{/if}" class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}">{/if}
<ul class="cart_block_customizations" id="customization_{$productId}_{$productAttributeId}">
{foreach from=$customizedDatas.$productId.$productAttributeId key='id_customization' item='customization' name='customizations'}
{foreach from=$blockcart_customizedDatas.$productId.$productAttributeId key='id_customization' item='customization' name='customizations'}
<li name="customization">
<div class="deleteCustomizableProduct" id="deleteCustomizableProduct_{$id_customization|intval}_{$product.id_product|intval}_{$product.id_product_attribute|intval}"><a class="ajax_cart_block_remove_link" href="{$link->getPageLink('cart', true, NULL, "delete&amp;id_product={$product.id_product|intval}&amp;ipa={$product.id_product_attribute|intval}&amp;id_customization={$id_customization}&amp;token={$static_token}")}"> </a></div>
<span class="quantity-formated"><span class="quantity">{$customization.quantity}</span>x</span>{if isset($customization.datas.$CUSTOMIZE_TEXTFIELD.0)}
{$customization.datas.$CUSTOMIZE_TEXTFIELD.0.value|escape:html:'UTF-8'|replace:"<br />":" "|truncate:28}
<span class="quantity-formated"><span class="quantity">{$customization.quantity}</span>x</span>{if isset($customization.datas.$blockcart_CUSTOMIZE_TEXTFIELD.0)}
{$customization.datas.$blockcart_CUSTOMIZE_TEXTFIELD.0.value|escape:html:'UTF-8'|replace:"<br />":" "|truncate:28}
{else}
{l s='Customization #' mod='blockcart'}{$id_customization|intval}{l s=':' mod='blockcart'}
{/if}
@@ -95,15 +95,15 @@ var removingLinkText = '{l s='remove this product from my cart' mod='blockcart'
{/foreach}
</dl>
{/if}
<p {if $products}class="hidden"{/if} id="cart_block_no_products">{l s='No products' mod='blockcart'}</p>
<p {if $blockcart_products}class="hidden"{/if} id="cart_block_no_products">{l s='No products' mod='blockcart'}</p>
{if $discounts|@count > 0}<table id="vouchers">
{if $blockcart_discounts|@count > 0}<table id="vouchers">
<tbody>
{foreach from=$discounts item=discount}
{foreach from=$blockcart_discounts item=discount}
<tr class="bloc_cart_voucher" id="bloc_cart_voucher_{$discount.id_discount}">
<td class="name" title="{$discount.description}">{$discount.name|cat:' : '|cat:$discount.description|truncate:18:'...'|escape:'htmlall':'UTF-8'}</td>
<td class="price">-{if $discount.value_real != '!'}{if $priceDisplay == 1}{convertPrice price=$discount.value_tax_exc}{else}{convertPrice price=$discount.value_real}{/if}{/if}</td>
<td class="delete"><a href="{$link->getPageLink("$order_process", true, NULL, "deleteDiscount={$discount.id_discount}")}" title="{l s='Delete'}"><img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" width="11" height="13" class="icon" /></a></td>
<td class="delete"><a href="{$link->getPageLink("$blockcart_order_process", true, NULL, "deleteDiscount={$discount.id_discount}")}" title="{l s='Delete'}"><img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" width="11" height="13" class="icon" /></a></td>
</tr>
{/foreach}
</tbody>
@@ -112,23 +112,23 @@ var removingLinkText = '{l s='remove this product from my cart' mod='blockcart'
<p id="cart-prices">
<span>{l s='Shipping' mod='blockcart'}</span>
<span id="cart_block_shipping_cost" class="price ajax_cart_shipping_cost">{$shipping_cost}</span>
<span id="cart_block_shipping_cost" class="price ajax_cart_shipping_cost">{$blockcart_shipping_cost}</span>
<br/>
{if $show_wrapping}
{if $blockcart_show_wrapping}
{assign var='blockcart_cart_flag' value='Cart::ONLY_WRAPPING'|constant}
<span>{l s='Wrapping' mod='blockcart'}</span>
<span id="cart_block_wrapping_cost" class="price cart_block_wrapping_cost">{if $priceDisplay == 1}{convertPrice price=$cart->getOrderTotal(false, $blockcart_cart_flag)}{else}{convertPrice price=$cart->getOrderTotal(true, $blockcart_cart_flag)}{/if}</span>
<br/>
{/if}
{if $show_tax && isset($tax_cost)}
{if $blockcart_show_tax && isset($blockcart_tax_cost)}
<span>{l s='Tax' mod='blockcart'}</span>
<span id="cart_block_tax_cost" class="price ajax_cart_tax_cost">{$tax_cost}</span>
<span id="cart_block_tax_cost" class="price ajax_cart_tax_cost">{$blockcart_tax_cost}</span>
<br/>
{/if}
<span>{l s='Total' mod='blockcart'}</span>
<span id="cart_block_total" class="price ajax_block_cart_total">{$total}</span>
<span id="cart_block_total" class="price ajax_block_cart_total">{$blockcart_total}</span>
</p>
{if $use_taxes && $display_tax_label == 1 && $show_tax}
{if $use_taxes && $display_tax_label == 1 && $blockcart_show_tax}
{if $priceDisplay == 0}
<p id="cart-price-precisions">
{l s='Prices are tax included' mod='blockcart'}
@@ -142,10 +142,10 @@ var removingLinkText = '{l s='remove this product from my cart' mod='blockcart'
{/if}
<p id="cart-buttons">
{capture name=step_order_process}
{if $order_process == 'order'}step=1{/if}
{if $blockcart_order_process == 'order'}step=1{/if}
{/capture}
{if $order_process == 'order'}<a href="{$link->getPageLink("$order_process", true)}" class="button_small" title="{l s='Cart' mod='blockcart'}">{l s='Cart' mod='blockcart'}</a>{/if}
<a href="{$link->getPageLink("$order_process", true, NULL, "{$smarty.capture.step_order_process}")}" id="button_order_cart" class="exclusive{if $order_process == 'order-opc'}_large{/if}" title="{l s='Check out' mod='blockcart'}">{l s='Check out' mod='blockcart'}</a>
{if $blockcart_order_process == 'order'}<a href="{$link->getPageLink("$blockcart_order_process", true)}" class="button_small" title="{l s='Cart' mod='blockcart'}">{l s='Cart' mod='blockcart'}</a>{/if}
<a href="{$link->getPageLink("$blockcart_order_process", true, NULL, "{$smarty.capture.step_order_process}")}" id="button_order_cart" class="exclusive{if $blockcart_order_process == 'order-opc'}_large{/if}" title="{l s='Check out' mod='blockcart'}">{l s='Check out' mod='blockcart'}</a>
</p>
</div>
</div>