Merge branch '1.6' of https://github.com/PrestaShop/PrestaShop into 1.6
This commit is contained in:
@@ -314,7 +314,8 @@ class ConfigurationCore extends ObjectModel
|
||||
$result = true;
|
||||
foreach ($values as $lang => $value)
|
||||
{
|
||||
if ($value === Configuration::get($key, $lang, $id_shop_group, $id_shop))
|
||||
$stored_value = Configuration::get($key, $lang, $id_shop_group, $id_shop);
|
||||
if ((!is_numeric($value) && $value === $stored_value) || (is_numeric($value) && $value == $stored_value))
|
||||
continue;
|
||||
|
||||
// If key already exists, update value
|
||||
|
||||
+19
-20
@@ -421,28 +421,27 @@ class ToolsCore
|
||||
if (is_object($currency) && $currency->id && !$currency->deleted && $currency->isAssociatedToShop())
|
||||
$cookie->id_currency = (int)$currency->id;
|
||||
}
|
||||
|
||||
if ((int)$cookie->id_currency)
|
||||
{
|
||||
$currency = Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
if (is_object($currency) && (int)$currency->id && (int)$currency->deleted != 1 && $currency->active)
|
||||
if ($currency->isAssociatedToShop())
|
||||
return $currency;
|
||||
else
|
||||
{
|
||||
// get currency from context
|
||||
$currency = Shop::getEntityIds('currency', Context::getContext()->shop->id);
|
||||
if (isset($currency[0]) && $currency[0]['id_currency'])
|
||||
{
|
||||
$cookie->id_currency = $currency[0]['id_currency'];
|
||||
return Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$currency = Currency::getCurrencyInstance(Configuration::get('PS_CURRENCY_DEFAULT'));
|
||||
if (is_object($currency) && $currency->id)
|
||||
$cookie->id_currency = (int)$currency->id;
|
||||
if ((int)$cookie->id_currency)
|
||||
$currency = Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
|
||||
if (is_object($currency) && (int)$currency->id && (int)$currency->deleted != 1 && $currency->active)
|
||||
{
|
||||
$cookie->id_currency = (int)$currency->id;
|
||||
if ($currency->isAssociatedToShop())
|
||||
return $currency;
|
||||
else
|
||||
{
|
||||
// get currency from context
|
||||
$currency = Shop::getEntityIds('currency', Context::getContext()->shop->id, true, true);
|
||||
if (isset($currency[0]) && $currency[0]['id_currency'])
|
||||
{
|
||||
$cookie->id_currency = $currency[0]['id_currency'];
|
||||
return Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $currency;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,145 +28,147 @@
|
||||
<h1 class="page-heading">{l s='Product Comparison'}</h1>
|
||||
|
||||
{if $hasProduct}
|
||||
<script type="text/javascript">
|
||||
$('document').ready(function(){
|
||||
if (typeof reloadProductComparison != 'undefined')
|
||||
reloadProductComparison()
|
||||
});
|
||||
</script>
|
||||
<div class="products_block table-responsive">
|
||||
<table id="product_comparison" class="table table-bordered">
|
||||
<tr>
|
||||
<td width="20%" class="td_empty compare_extra_information">
|
||||
{$HOOK_COMPARE_EXTRA_INFORMATION}
|
||||
<span>{l s='Features:'}</span>
|
||||
</td>
|
||||
{assign var='taxes_behavior' value=false}
|
||||
{if $use_taxes && (!$priceDisplay || $priceDisplay == 2)}
|
||||
{assign var='taxes_behavior' value=true}
|
||||
{/if}
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='replace_id' value=$product->id|cat:'|'}
|
||||
|
||||
<td width="{$width}%" class="ajax_block_product comparison_infos product-block">
|
||||
<div class="remove">
|
||||
<a class="cmp_remove" href="{$link->getPageLink('products-comparison', true)|escape:'html'}" title="{l s='Remove'}" data-id-product="{$product->id}"><i class="icon-trash"></i></a>
|
||||
</div>
|
||||
<div class="product-image-block">
|
||||
<a href="{$product->getLink()}" title="{$product->name|escape:html:'UTF-8'}" class="product_image" >
|
||||
<img class="img-responsive" src="{$link->getImageLink($product->link_rewrite, $product->id_image, 'home_default')|escape:'html'}" alt="{$product->name|escape:html:'UTF-8'}" />
|
||||
</a>
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
{if $product->on_sale}
|
||||
<div class="sale-box"><span class="sale-label">{l s='Sale!'}</span></div>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
<h5><a class="product-name" href="{$product->getLink()}" title="{$product->name|truncate:32:'...'|escape:'html':'UTF-8'}">{$product->name|truncate:45:'...'|escape:'html':'UTF-8'}</a></h5>
|
||||
<div class="prices-container">
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
<span class="price product-price">{convertPrice price=$product->getPrice($taxes_behavior)}</span>
|
||||
{if isset($product->specificPrice) && $product->specificPrice}
|
||||
{if {$product->specificPrice.reduction_type == 'percentage'}}
|
||||
<span class="old-price product-price">{displayWtPrice p=$product->getPrice($taxes_behavior)+($product->getPrice($taxes_behavior)* $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{$product->specificPrice.reduction*100|floatval}%</span>
|
||||
{else}
|
||||
<span class="old-price product-price">{convertPrice price=($product->getPrice($taxes_behavior) + $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{convertPrice price=$product->specificPrice.reduction}</span>
|
||||
{/if}
|
||||
{/if}
|
||||
{if $product->on_sale}
|
||||
{elseif $product->specificPrice AND $product->specificPrice.reduction}
|
||||
<div class="product_discount">
|
||||
<span class="reduced-price">{l s='Reduced price!'}</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if !empty($product->unity) && $product->unit_price_ratio > 0.000000}
|
||||
{math equation="pprice / punit_price" pprice=$product->getPrice($taxes_behavior) punit_price=$product->unit_price_ratio assign=unit_price}
|
||||
<span class="comparison_unit_price"> {convertPrice price=$unit_price} {l s='per %s' sprintf=$product->unity|escape:'html':'UTF-8'}</span>
|
||||
{else}
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
<div class="product_desc">{$product->description_short|strip_tags|truncate:60:'...'}</div>
|
||||
|
||||
<div class="comparison_product_infos">
|
||||
<!-- availability -->
|
||||
<p class="comparison_availability_statut">
|
||||
{if !(($product->quantity <= 0 && !$product->available_later) OR ($product->quantity != 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE)}
|
||||
<span id="availability_label">{l s='Availability:'}</span>
|
||||
<span id="availability_value"{if $product->quantity <= 0} class="warning-inline"{/if}>
|
||||
{if $product->quantity <= 0}
|
||||
{if $allow_oosp}
|
||||
{$product->available_later|escape:'html':'UTF-8'}
|
||||
{else}
|
||||
{l s='This product is no longer in stock.'}
|
||||
{/if}
|
||||
{else}
|
||||
{$product->available_now|escape:'html':'UTF-8'}
|
||||
{/if}
|
||||
</span>
|
||||
{/if}
|
||||
</p>
|
||||
<div class="clearfix">
|
||||
<div class="button-container">
|
||||
{if (!$product->hasAttributes() OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product->minimal_quantity == 1 AND $product->customizable != 2 AND !$PS_CATALOG_MODE}
|
||||
{if ($product->quantity > 0 OR $product->allow_oosp)}
|
||||
<a
|
||||
class="button ajax_add_to_cart_button btn btn-default"
|
||||
data-id-product="{$product->id}"
|
||||
href="{$link->getPageLink('cart', true, NULL, "qty=1&id_product={$product->id}&token={$static_token}&add")|escape:'html'}"
|
||||
title="{l s='Add to cart'}">
|
||||
<span>{l s='Add to cart'}</span>
|
||||
</a>
|
||||
{else}
|
||||
<span class="ajax_add_to_cart_button button btn btn-default disabled"><span>{l s='Add to cart'}</span></span>
|
||||
{/if}
|
||||
{else}
|
||||
|
||||
{/if}
|
||||
<a class="button lnk_view btn btn-default" href="{$product->getLink()}" title="{l s='View'}"><span>{l s='View'}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{if $ordered_features}
|
||||
{foreach from=$ordered_features item=feature}
|
||||
<tr>
|
||||
{cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'}
|
||||
<td class="{$classname} feature-name" >
|
||||
<strong>{$feature.name|escape:'html':'UTF-8'}</strong>
|
||||
</td>
|
||||
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='product_id' value=$product->id}
|
||||
{assign var='feature_id' value=$feature.id_feature}
|
||||
{if isset($product_features[$product_id])}
|
||||
{assign var='tab' value=$product_features[$product_id]}
|
||||
<td width="{$width}%" class="{$classname} comparison_infos">{if (isset($tab[$feature_id]))}{$tab[$feature_id]|escape:'html':'UTF-8'}{/if}</td>
|
||||
{else}
|
||||
<td width="{$width}%" class="{$classname} comparison_infos"></td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<script type="text/javascript">
|
||||
$('document').ready(function(){
|
||||
if (typeof reloadProductComparison != 'undefined')
|
||||
reloadProductComparison()
|
||||
});
|
||||
</script>
|
||||
<div class="products_block table-responsive">
|
||||
<table id="product_comparison" class="table table-bordered">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="{$products|@count + 1}">{l s='No features to compare'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<td class="td_empty compare_extra_information">
|
||||
{$HOOK_COMPARE_EXTRA_INFORMATION}
|
||||
<span>{l s='Features:'}</span>
|
||||
</td>
|
||||
{assign var='taxes_behavior' value=false}
|
||||
{if $use_taxes && (!$priceDisplay || $priceDisplay == 2)}
|
||||
{assign var='taxes_behavior' value=true}
|
||||
{/if}
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='replace_id' value=$product->id|cat:'|'}
|
||||
<td class="ajax_block_product comparison_infos product-block">
|
||||
<div class="remove">
|
||||
<a class="cmp_remove" href="{$link->getPageLink('products-comparison', true)|escape:'html'}" title="{l s='Remove'}" data-id-product="{$product->id}"><i class="icon-trash"></i></a>
|
||||
</div>
|
||||
<div class="product-image-block">
|
||||
<a href="{$product->getLink()|escape:html:'UTF-8'}" title="{$product->name|escape:html:'UTF-8'}" class="product_image" >
|
||||
<img class="img-responsive" src="{$link->getImageLink($product->link_rewrite, $product->id_image, 'home_default')|escape:'html'}" alt="{$product->name|escape:html:'UTF-8'}" />
|
||||
</a>
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
{if $product->on_sale}
|
||||
<div class="sale-box"><span class="sale-label">{l s='Sale!'}</span></div>
|
||||
{/if}
|
||||
{/if}
|
||||
</div> <!-- end product-image-block -->
|
||||
<h5>
|
||||
<a class="product-name" href="{$product->getLink()|escape:html:'UTF-8'}" title="{$product->name|truncate:32:'...'|escape:'html':'UTF-8'}">
|
||||
{$product->name|truncate:45:'...'|escape:'html':'UTF-8'}
|
||||
</a>
|
||||
</h5>
|
||||
<div class="prices-container">
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
<span class="price product-price">{convertPrice price=$product->getPrice($taxes_behavior)}</span>
|
||||
{if isset($product->specificPrice) && $product->specificPrice}
|
||||
{if {$product->specificPrice.reduction_type == 'percentage'}}
|
||||
<span class="old-price product-price">{displayWtPrice p=$product->getPrice($taxes_behavior)+($product->getPrice($taxes_behavior)* $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{$product->specificPrice.reduction*100|floatval}%</span>
|
||||
{else}
|
||||
<span class="old-price product-price">{convertPrice price=($product->getPrice($taxes_behavior) + $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{convertPrice price=$product->specificPrice.reduction}</span>
|
||||
{/if}
|
||||
{/if}
|
||||
{if $product->on_sale}
|
||||
{elseif $product->specificPrice AND $product->specificPrice.reduction}
|
||||
<div class="product_discount">
|
||||
<span class="reduced-price">{l s='Reduced price!'}</span>
|
||||
</div>
|
||||
{/if}
|
||||
{if !empty($product->unity) && $product->unit_price_ratio > 0.000000}
|
||||
{math equation="pprice / punit_price" pprice=$product->getPrice($taxes_behavior) punit_price=$product->unit_price_ratio assign=unit_price}
|
||||
<span class="comparison_unit_price"> {convertPrice price=$unit_price} {l s='per %s' sprintf=$product->unity|escape:'html':'UTF-8'}</span>
|
||||
{else}
|
||||
{/if}
|
||||
{/if}
|
||||
</div> <!-- end prices-container -->
|
||||
|
||||
{$HOOK_EXTRA_PRODUCT_COMPARISON}
|
||||
</table>
|
||||
</div>
|
||||
<div class="product_desc">{$product->description_short|strip_tags|truncate:60:'...'}</div>
|
||||
|
||||
<div class="comparison_product_infos">
|
||||
<!-- availability -->
|
||||
<p class="comparison_availability_statut">
|
||||
{if !(($product->quantity <= 0 && !$product->available_later) OR ($product->quantity != 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE)}
|
||||
<span id="availability_label">{l s='Availability:'}</span>
|
||||
<span id="availability_value"{if $product->quantity <= 0} class="warning-inline"{/if}>
|
||||
{if $product->quantity <= 0}
|
||||
{if $allow_oosp}
|
||||
{$product->available_later|escape:'html':'UTF-8'}
|
||||
{else}
|
||||
{l s='This product is no longer in stock.'}
|
||||
{/if}
|
||||
{else}
|
||||
{$product->available_now|escape:'html':'UTF-8'}
|
||||
{/if}
|
||||
</span>
|
||||
{/if}
|
||||
</p>
|
||||
<div class="clearfix">
|
||||
<div class="button-container">
|
||||
{if (!$product->hasAttributes() OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product->minimal_quantity == 1 AND $product->customizable != 2 AND !$PS_CATALOG_MODE}
|
||||
{if ($product->quantity > 0 OR $product->allow_oosp)}
|
||||
<a
|
||||
class="button ajax_add_to_cart_button btn btn-default"
|
||||
data-id-product="{$product->id}"
|
||||
href="{$link->getPageLink('cart', true, NULL, "qty=1&id_product={$product->id}&token={$static_token}&add")|escape:'html'}"
|
||||
title="{l s='Add to cart'}">
|
||||
<span>{l s='Add to cart'}</span>
|
||||
</a>
|
||||
{else}
|
||||
<span class="ajax_add_to_cart_button button btn btn-default disabled"><span>{l s='Add to cart'}</span></span>
|
||||
{/if}
|
||||
{/if}
|
||||
<a class="button lnk_view btn btn-default" href="{$product->getLink()|escape:html:'UTF-8'}" title="{l s='View'}"><span>{l s='View'}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- end comparison_product_infos -->
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{if $ordered_features}
|
||||
{foreach from=$ordered_features item=feature}
|
||||
<tr>
|
||||
{cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'}
|
||||
<td class="{$classname} feature-name" >
|
||||
<strong>{$feature.name|escape:'html':'UTF-8'}</strong>
|
||||
</td>
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='product_id' value=$product->id}
|
||||
{assign var='feature_id' value=$feature.id_feature}
|
||||
{if isset($product_features[$product_id])}
|
||||
{assign var='tab' value=$product_features[$product_id]}
|
||||
<td class="{$classname} comparison_infos">{if (isset($tab[$feature_id]))}{$tab[$feature_id]|escape:'html':'UTF-8'}{/if}</td>
|
||||
{else}
|
||||
<td class="{$classname} comparison_infos"></td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="{$products|@count}" class="text-center">{l s='No features to compare'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{$HOOK_EXTRA_PRODUCT_COMPARISON}
|
||||
</table>
|
||||
</div> <!-- end products_block -->
|
||||
{else}
|
||||
<p class="alert alert-warning">{l s='There are no products selected for comparison.'}</p>
|
||||
{/if}
|
||||
<ul class="footer_link">
|
||||
<li><a class="button lnk_view btn btn-default" href="{$base_dir}"><span><i class="icon-chevron-left left"></i>{l s='Continue Shopping'}</span></a></li>
|
||||
<li>
|
||||
<a class="button lnk_view btn btn-default" href="{$base_dir}">
|
||||
<span><i class="icon-chevron-left left"></i>{l s='Continue Shopping'}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
Reference in New Issue
Block a user