Merge last developments from Prestashop

This commit is contained in:
Grégoire Bélorgey
2013-05-01 09:17:51 +02:00
28 changed files with 132 additions and 98 deletions
@@ -30,55 +30,44 @@
<h2>{$supplier->name}</h2>
<h3>{l s='Number of products:'} {count($products)}</h3>
<table border="0" cellpadding="0" cellspacing="0" class="table" width="100%">
<tr>
<th>{l s='Product name'}</th>
<th>{l s='Attribute name'}</th>
<th>{l s='Supplier Reference'}</th>
<th>{l s='Wholesale price'}</th>
<th>{l s='Reference'}</th>
<th>{l s='EAN13'}</th>
<th>{l s='UPC'}</th>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}<th class="right">{l s='Available Quantity'}</th>{/if}
</tr>
{foreach $products AS $product}
<hr />
{if !$product->hasAttributes()}
<table border="0" cellpadding="0" cellspacing="0" class="table" style="">
<tr>
<th width="450">{l s='Name'} {$product->name}</th>
{if !empty($product->product_supplier_reference)}<th width="190">{l s='Supplier Reference:'} {$product->product_supplier_reference}</th>{/if}
{if !empty($product->product_supplier_price_te)}<th width="190">{l s='Wholesale price:'} {$product->product_supplier_price_te}</th>{/if}
{if !empty($product->reference)}<th width="150">{l s='Reference:'} {$product->reference}</th>{/if}
{if !empty($product->ean13)}<th width="120">{l s='EAN13:'} {$product->ean13}</th>{/if}
{if !empty($product->upc)}<th width="120">{l s='UPC:'} {$product->upc}</th>{/if}
{if $stock_management}<th class="right" width="150">{l s='Available Quantity:'} {$product->quantity}</th>{/if}
</tr>
</table>
<tr>
<td><a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}">{$product->name}</a></td>
<td>{l s='N/A'}</td>
<td>{if empty($product->product_supplier_reference)}{l s='N/A'}{else}{$product->product_supplier_reference}{/if}</td>
<td>{if empty($product->product_supplier_price_te)}0{else}{$product->product_supplier_price_te}{/if}</td>
<td>{if empty($product->reference)}{l s='N/A'}{else}{$product->reference}{/if}</td>
<td>{if empty($product->ean13)}{l s='N/A'}{else}{$product->ean13}{/if}</td>
<td>{if empty($product->upc)}{l s='N/A'}{else}{$product->upc}{/if}</td>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}<td class="right" width="150">{$product->quantity}</td>{/if}
</tr>
{else}
<h3><a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}">{$product->name}</a></h3>
<table border="0" cellpadding="0" cellspacing="0" class="table" style="width:100%;">
<colgroup>
<col>
<col width="190">
<col width="190">
<col width="80">
<col width="80">
<col width="80">
<col width="80">
</colgroup>
<tr>
<th style="height:40px;">{l s='Attribute name'}</th>
<th>{l s='Supplier Reference'}</th>
<th >{l s='Wholesale price'}</th>
<th>{l s='Reference'}</th>
<th>{l s='EAN13'}</th>
<th>{l s='UPC'}</th>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}<th class="right">{l s='Available Quantity'}</th>{/if}
{foreach $product->combination AS $id_product_attribute => $product_attribute}
<tr {if $id_product_attribute %2}class="alt_row"{/if} >
<td><a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}">{$product->name}</a></td>
<td>{if empty($product_attribute.attributes)}{l s='N/A'}{else}{$product_attribute.attributes}{/if}</td>
<td>{if empty($product_attribute.product_supplier_reference)}{l s='N/A'}{else}{$product_attribute.product_supplier_reference}{/if}</td>
<td>{if empty($product_attribute.product_supplier_price_te)}0{else}{$product_attribute.product_supplier_price_te}{/if}</td>
<td>{if empty($product_attribute.reference)}{l s='N/A'}{else}{$product_attribute.reference}{/if}</td>
<td>{if empty($product_attribute.ean13)}{l s='N/A'}{else}{$product_attribute.ean13}{/if}</td>
<td>{if empty($product_attribute.upc)}{l s='N/A'}{else}{$product_attribute.upc}{/if}</td>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}<td class="right">{$product_attribute.quantity}</td>{/if}
</tr>
{foreach $product->combination AS $id_product_attribute => $product_attribute}
<tr {if $id_product_attribute %2}class="alt_row"{/if} >
<td>{$product_attribute.attributes}</td>
<td>{$product_attribute.product_supplier_reference}</td>
<td>{$product_attribute.product_supplier_price_te}</td>
<td>{$product_attribute.reference}</td>
<td>{$product_attribute.ean13}</td>
<td>{$product_attribute.upc}</td>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}<td class="right">{$product_attribute.quantity}</td>{/if}
</tr>
{/foreach}
</table>
{/foreach}
{/if}
{/foreach}
</table>
{/block}
+1 -2
View File
@@ -2470,13 +2470,12 @@ class ProductCore extends ObjectModel
if ((int)$id_cart)
{
$condition = '';
$cache_name = (int)$id_cart.'_'.(int)$id_product.'_'.(int)$id_product_attribute;
$cache_name = (int)$id_cart.'_'.(int)$id_product;
if (!isset(self::$_cart_quantity[$cache_name]) || self::$_cart_quantity[$cache_name] != (int)$quantity)
self::$_cart_quantity[$cache_name] = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT SUM(`quantity`)
FROM `'._DB_PREFIX_.'cart_product`
WHERE `id_product` = '.(int)$id_product.'
AND `id_product_attribute` = '.(int)$id_product_attribute.'
AND `id_cart` = '.(int)$id_cart);
$cart_quantity = self::$_cart_quantity[$cache_name];
}
+2
View File
@@ -281,6 +281,8 @@ class SearchCore
$alias = '';
if ($order_by == 'price')
$alias = 'product_shop.';
else if ($order_by == 'date_upd')
$alias = 'p.';
$sql = 'SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity,
pl.`description_short`, pl.`available_now`, pl.`available_later`, pl.`link_rewrite`, pl.`name`,
MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` manufacturer_name '.$score.', MAX(product_attribute_shop.`id_product_attribute`) id_product_attribute,
+23 -2
View File
@@ -1313,9 +1313,30 @@ class ToolsCore
{
return @simplexml_load_string(Tools::file_get_contents($url), $class_name);
}
public static function copy($source, $destination, $stream_context = null)
{
if ($stream_context == null && preg_match('/^https?:\/\//', $source))
$stream_context = @stream_context_create(array('http' => array('timeout' => 10)));
public static $a = 0;
if (in_array(@ini_get('allow_url_fopen'), array('On', 'on', '1')) || !preg_match('/^https?:\/\//', $source))
return @copy($source, $destination, $stream_context);
elseif (function_exists('curl_init'))
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $source);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$opts = stream_context_get_options($stream_context);
$content = curl_exec($curl);
curl_close($curl);
return file_put_contents($destination, $content);
}
else
return false;
}
/**
* @deprecated as of 1.5 use Media::minifyHTML()
+6 -3
View File
@@ -1055,6 +1055,9 @@ class ValidateCore
{
return (bool)(is_string($name) && preg_match('/^[0-9a-zA-Z-_]*$/u', $name));
}
}
public static function isPrestaShopVersion($version)
{
return (preg_match('/^[0-1]\.[0-9]{1,2}(\.[0-9]{1,2}){0,2}$/', $version) && ip2long($version));
}
}
+1 -1
View File
@@ -1760,7 +1760,7 @@ class AdminControllerCore extends Controller
$this->context->employee->logout();
if ($this->controller_name != 'AdminLogin' && (!isset($this->context->employee) || !$this->context->employee->isLoggedBack()))
Tools::redirectAdmin($this->context->link->getAdminLink('AdminLogin').(!isset($_GET['logout']) ? '&redirect='.$this->controller_name : ''));
Tools::redirectAdmin($this->context->link->getAdminLink('AdminLogin').((!isset($_GET['logout']) && $this->controller_name != 'AdminNotFound') ? '&redirect='.$this->controller_name : ''));
// Set current index
$current_index = 'index.php'.(($controller = Tools::getValue('controller')) ? '?controller='.$controller : '');
+1 -1
View File
@@ -209,7 +209,7 @@ class AdminCartsControllerCore extends AdminController
if (!$this->context->cart->id_customer)
$this->context->cart->id_customer = $id_customer;
if ($this->context->cart->OrderExists())
if (Validate::isLoadedObject($this->context->cart) && $this->context->cart->OrderExists())
return;
if (!$this->context->cart->secure_key)
$this->context->cart->secure_key = $this->context->customer->secure_key;
+2 -4
View File
@@ -819,7 +819,7 @@ class AdminImportControllerCore extends AdminController
// 'file_exists' doesn't work on distant file, and getimagesize make the import slower.
// Just hide the warning, the traitment will be the same.
if (@copy($url, $tmpfile))
if (Tools::copy($url, $tmpfile))
{
ImageManager::resize($tmpfile, $path.'.jpg');
$images_types = ImageType::getImagesTypes($entity);
@@ -1433,9 +1433,7 @@ class AdminImportControllerCore extends AdminController
$image->position = Image::getHighestPosition($product->id) + 1;
$image->cover = (!$key && !$product_has_images) ? true : false;
// file_exists doesn't work with HTTP protocol
if (@fopen($url, 'r') == false)
$error = true;
else if (($field_error = $image->validateFields(UNFRIENDLY_ERROR, true)) === true &&
if (($field_error = $image->validateFields(UNFRIENDLY_ERROR, true)) === true &&
($lang_field_error = $image->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && $image->add())
{
// associate image to selected shops
+9 -10
View File
@@ -475,19 +475,21 @@ class AdminLanguagesControllerCore extends AdminController
public function ajaxProcessCheckLangPack()
{
$this->json = true;
if (empty($_GET['iso_lang']))
if (!Tools::getValue('iso_lang') || !Validate::isLanguageIsoCode(Tools::getValue('iso_lang')))
{
$this->status = 'error';
$this->errors[] = '[TECHNICAL ERROR] iso_lang not set or empty';
$this->errors[] = $this->l('Iso code is not valid');
return;
}
if (empty($_GET['ps_version']))
if (!Tools::getValue('ps_version') || !Validate::isPrestaShopVersion(Tools::getValue('ps_version')))
{
$this->status = 'error';
$this->errors[] = '[TECHNICAL ERROR] ps_version not set or empty';
$this->errors[] = $this->l('Technical Error: ps_version is not valid');
return;
}
// Get all iso code available
if($lang_packs = Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/get_language_pack.php?version='.(string)$_GET['ps_version'].'&iso_lang='.(string)$_GET['iso_lang']))
if ($lang_packs = Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/get_language_pack.php?version='.Tools::getValue('ps_version').'&iso_lang='.Tools::getValue('iso_lang')))
{
$result = Tools::jsonDecode($lang_packs);
if ($lang_packs !== '' && $result && !isset($result->error))
@@ -498,16 +500,13 @@ class AdminLanguagesControllerCore extends AdminController
else
{
$this->status = 'error';
$msg = $this->l('Wrong ISO code, or the selected language pack is unavailable.');
if ($result)
$msg = $result->msg;
$this->errors[] = $msg;
$this->errors[] = $this->l('Wrong ISO code, or the selected language pack is unavailable.');
}
}
else
{
$this->status = 'error';
$this->errors[] = '[TECHNICAL ERROR] Server unreachable';
$this->errors[] = $this->l('Technical Error: translation server unreachable');
}
}
+1 -1
View File
@@ -308,7 +308,7 @@ class AdminOrdersControllerCore extends AdminController
$customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null,
_PS_MAIL_DIR_, true, (int)$order->id_shop))
{
Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order));
Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order, 'customer' => $customer, 'carrier' => $carrier));
Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
}
else
@@ -1454,6 +1454,8 @@ class AdminTranslationsControllerCore extends AdminController
$path = $arr_mail_path[$group_name];
if ($module_name)
$path = str_replace('{module}', $module_name, $path);
if (!file_exists($path) && !mkdir($path, 0777, true))
throw new PrestaShopException(sprintf(Tools::displayError('Directory "%s" cannot be created'), dirname($file_path)));
file_put_contents($path.$mail_name.'.'.$type_content, $content);
}
else
@@ -2453,6 +2455,9 @@ class AdminTranslationsControllerCore extends AdminController
protected function writeSubjectTranslationFile($sub, $path)
{
if (!Tools::file_exists_cache(dirname(path)))
if (!mkdir(dirname(path), 0700))
throw new PrestaShopException('Directory '.dirname(path).' cannot be created.');
if ($fd = @fopen($path, 'w'))
{
$tab = 'LANGMAIL';
+1 -1
View File
@@ -493,7 +493,7 @@ class OrderOpcControllerCore extends ParentOrderController
$address_delivery = new Address($this->context->cart->id_address_delivery);
$cms = new CMS(Configuration::get('PS_CONDITIONS_CMS_ID'), $this->context->language->id);
$link_conditions = $this->context->link->getCMSLink($cms, $cms->link_rewrite, true);
$link_conditions = $this->context->link->getCMSLink($cms, $cms->link_rewrite);
if (!strpos($link_conditions, '?'))
$link_conditions .= '?content_only=1';
else
+1 -1
View File
@@ -494,7 +494,7 @@ class ParentOrderControllerCore extends FrontController
// TOS
$cms = new CMS(Configuration::get('PS_CONDITIONS_CMS_ID'), $this->context->language->id);
$this->link_conditions = $this->context->link->getCMSLink($cms, $cms->link_rewrite, false);
$this->link_conditions = $this->context->link->getCMSLink($cms, $cms->link_rewrite);
if (!strpos($this->link_conditions, '?'))
$this->link_conditions .= '?content_only=1';
else
+1 -1
View File
@@ -498,7 +498,7 @@ select optgroup option {
background: #FFBABA url(../img/admin/icon-cancel.png) no-repeat scroll 6px 6px;
border: 1px solid #CC0000;
color:#D8000C;
padding:20px;
padding:20px 40px;
position:fixed;
bottom:0;
width:100%;
+3 -4
View File
@@ -75,11 +75,10 @@ function doAjaxLogin(redirect) {
redirect: redirect
},
success: function(jsonData) {
if (jsonData.hasErrors) {
if (jsonData.hasErrors)
displayErrors(jsonData.errors);
} else {
window.location.href = jsonData.redirect;
}
else
window.location.assign(jsonData.redirect);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('#error').html('<h3>TECHNICAL ERROR:</h3><p>Details: Error thrown: ' + XMLHttpRequest + '</p><p>Text status: ' + textStatus + '</p>').show();
+3 -3
View File
@@ -72,8 +72,8 @@
</tr>
<tr style="text-align: right; font-weight: bold;">
<td>&nbsp;</td>
<td style="background-color: #ebecee; color: {color}; padding: 0.6em 0.4em;" colspan="3">Total paid</td>
<td style="background-color: #ebecee; color: {color}; padding: 0.6em 0.4em;">{total_paid}</td>
<td style="background-color: {color}; padding: 0.6em 0.4em;" colspan="3">Total paid</td>
<td style="background-color: {color}; padding: 0.6em 0.4em;">{total_paid}</td>
</tr>
</tbody>
</table>
@@ -125,4 +125,4 @@
</tbody>
</table>
</body>
</html>
</html>
+1 -1
View File
@@ -33,7 +33,7 @@
"link": "{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category, null, null, $product.id_shop, $product.id_product_attribute)|addslashes|replace:'\\\'':'\''}",
"quantity": {$product.cart_quantity},
"priceByLine": "{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice|html_entity_decode:2:'UTF-8' p=$product.total}{else}{displayWtPrice|html_entity_decode:2:'UTF-8' p=$product.total_wt}{/if}",
"name": "{$product.name|html_entity_decode:2:'UTF-8'|escape:'htmlall'|truncate:15:'...':true}",
"name": "{$product.name|html_entity_decode:2:'UTF-8'|truncate:15:'...':true|escape:'htmlall'}",
"price": "{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice|html_entity_decode:2:'UTF-8' p=$product.total}{else}{displayWtPrice|html_entity_decode:2:'UTF-8' p=$product.total_wt}{/if}",
"price_float": "{$product.total}",
"idCombination": {if isset($product.attributes_small)}{$productAttributeId}{else}0{/if},
+1 -1
View File
@@ -100,7 +100,7 @@ var delete_txt = '{l s='Delete' mod='blockcart' js=1}';
<li name="customization">
<div class="deleteCustomizableProduct" id="deleteCustomizableProduct_{$id_customization|intval}_{$product.id_product|intval}_{$product.id_product_attribute|intval}_{$product.id_address_delivery|intval}"><a class="ajax_cart_block_remove_link" href="{$link->getPageLink('cart', true, NULL, "delete=1&amp;id_product={$product.id_product|intval}&amp;ipa={$product.id_product_attribute|intval}&amp;id_customization={$id_customization}&amp;token={$static_token}", true)}" rel="nofollow"> </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}
{$customization.datas.$CUSTOMIZE_TEXTFIELD.0.value|replace:"<br />":" "|truncate:28:'...'|escape:html:'UTF-8'}
{else}
{l s='Customization #%d:' sprintf=$id_customization|intval mod='blockcart'}
{/if}
@@ -38,6 +38,8 @@
$('#center_column').attr('id', 'old_center_column');
$('#old_center_column').after('<div id="center_column" class="' + $('#old_center_column').attr('class') + '">'+data+'</div>');
$('#old_center_column').hide();
// Button override
ajaxCart.overrideButtonsInThePage();
$("#instant_search_results a.close").click(function() {
$("#search_query_{$blocksearch_type}").val('');
return tryToCloseInstantSearch();
+13
View File
@@ -57,6 +57,19 @@ class BlockSupplier extends Module
return true;
}
public function uninstall()
{
if (!parent::uninstall())
return false;
/* remove the configuration variable */
$result = Configuration::deleteByName('SUPPLIER_DISPLAY_TEXT');
$result &= Configuration::deleteByName('SUPPLIER_DISPLAY_TEXT_NB');
$result &= Configuration::deleteByName('SUPPLIER_DISPLAY_FORM');
return $result;
}
function hookDisplayLeftColumn($params)
{
$id_lang = (int)Context::getContext()->language->id;
+3 -3
View File
@@ -43,8 +43,8 @@
<td style="background-color: #dde2e6; padding: 0.6em 0.4em;">{total_shipping}</td>
</tr>
<tr style="text-align: right; font-weight: bold;">
<td style="background-color: #ebecee; color: {color}; padding: 0.6em 0.4em;" colspan="4">Total paid</td>
<td style="background-color: #ebecee; color: {color}; padding: 0.6em 0.4em;">{total_paid}</td>
<td style="background-color: {color}; padding: 0.6em 0.4em;" colspan="4">Total paid</td>
<td style="background-color: {color}; padding: 0.6em 0.4em;">{total_paid}</td>
</tr>
</table>
@@ -68,4 +68,4 @@
</tr>
</table>
</body>
</html>
</html>
+11 -6
View File
@@ -296,7 +296,6 @@ table.table_block td {
text-shadow:0 1px 0 #000;
text-transform:uppercase;
background:#383838;
text-align:left;
font-weight: bold;
}
.block .title_block a, .block h4 a {color:#fff}
@@ -547,6 +546,7 @@ div.star_hover a, div.star a:hover { background-position: 0 -32px }
#header {position:relative}
#header_logo {
position: absolute;
left:0;
top: 30px;
z-index: 1;
}
@@ -1976,7 +1976,6 @@ div.star_hover a, div.star a:hover { background-position: 0 -12px }
padding:15px 10px;
}
.blockcategories_footer .category_footer {float:left;clear:none;}
.blockcategories_footer .category_footer .list{float:left;}
.blockcategories_footer ul ul {display:none !important}
@@ -2039,10 +2038,13 @@ tr.subitem > td:first-child + td {
}
.blockmanufacturer form {margin-top:10px;}
.blockmanufacturer form {
margin-top: 10px;
text-align: center;
width: 200px;
}
.blockmanufacturer p {
padding:0;
text-align:center
}
/*************** Block LOGO PAYMENT ***************/
@@ -2100,10 +2102,13 @@ tr.subitem > td:first-child + td {
background:url(../../../modules/blocksupplier/img/arrow_right_2.png) no-repeat 10px 10px transparent
}
.blocksupplier form {margin-top:10px;}
.blocksupplier form {
margin-top: 10px;
text-align: center;
width: 200px;
}
.blocksupplier p {
padding:0;
text-align:center
}
.ie7 #featured-products_block_center .product_image span.new {top:110px;right:0;width:94%}
+1 -1
View File
@@ -23,7 +23,7 @@
* International Registered Trademark & Property of PrestaShop SA
*}
{capture name=path}{l s='Guest tracking'}{/capture}
{capture name=path}{l s='Guest Tracking'}{/capture}
{include file="./breadcrumb.tpl"}
<h1>{l s='Guest Tracking'}</h1>
+3 -4
View File
@@ -422,11 +422,10 @@ function displayImage(domAAroundImgThumb, no_animation)
var newSrc = domAAroundImgThumb.attr('href').replace('thickbox', 'large');
if ($('#bigpic').attr('src') != newSrc)
{
$(this).attr('src', newSrc).load(function() {
$(this).show();
$('#bigpic').attr('src', newSrc).load(function() {
if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
$(this).attr('alt', domAAroundImgThumb.attr('href'));
});
$(this).attr('rel', domAAroundImgThumb.attr('href'));
});
}
$('#views_block li a').removeClass('shown');
$(domAAroundImgThumb).addClass('shown');
@@ -100,7 +100,7 @@ var delete_txt = '{l s='Delete' mod='blockcart' js=1}';
<li name="customization">
<div class="deleteCustomizableProduct" id="deleteCustomizableProduct_{$id_customization|intval}_{$product.id_product|intval}_{$product.id_product_attribute|intval}_{$product.id_address_delivery|intval}"><a class="ajax_cart_block_remove_link" href="{$link->getPageLink('cart', true, NULL, "delete=1&amp;id_product={$product.id_product|intval}&amp;ipa={$product.id_product_attribute|intval}&amp;id_customization={$id_customization}&amp;token={$static_token}", true)}" rel="nofollow"> </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}
{$customization.datas.$CUSTOMIZE_TEXTFIELD.0.value|replace:"<br />":" "|truncate:28:'...'|escape:html:'UTF-8'}
{else}
{l s='Customization #%d:' sprintf=$id_customization|intval mod='blockcart'}
{/if}
+1 -1
View File
@@ -118,7 +118,7 @@
<td class="price" id="total_shipping">{l s='Free Shipping!'}</td>
</tr>
{else}
{if $use_taxes}
{if $use_taxes && $total_shipping_tax_exc != $total_shipping}
{if $priceDisplay}
<tr class="cart_total_delivery" {if $shippingCost <= 0} style="display:none"{/if}>
<td colspan="5">{if $display_tax_label}{l s='Total shipping (tax excl.)'}{else}{l s='Total shipping'}{/if}</td>
+1 -1
View File
@@ -183,7 +183,7 @@ var fieldRequired = '{l s='Please fill in all the required fields before saving
<div id="image-block">
{if $have_image}
<span id="view_full_size">
<img src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')}"{if $jqZoomEnabled} class="jqzoom"{/if} title="{$product->name|escape:'htmlall':'UTF-8'}" alt="{$product->name|escape:'htmlall':'UTF-8'}" id="bigpic" width="{$largeSize.width}" height="{$largeSize.height}"/>
<img src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')}"{if $jqZoomEnabled && $have_image} class="jqzoom"{/if} title="{$product->name|escape:'htmlall':'UTF-8'}" alt="{$product->name|escape:'htmlall':'UTF-8'}" id="bigpic" width="{$largeSize.width}" height="{$largeSize.height}"/>
<span class="span_link">{l s='Maximize'}</span>
</span>
{else}
+1 -1
View File
@@ -126,7 +126,7 @@
<td colspan="2" class="price" id="total_shipping">{l s='Free Shipping!'}</td>
</tr>
{else}
{if $use_taxes}
{if $use_taxes && $total_shipping_tax_exc != $total_shipping}
{if $priceDisplay}
<tr class="cart_total_delivery" {if $total_shipping_tax_exc <= 0} style="display:none;"{/if}>
<td colspan="5">{if $display_tax_label}{l s='Total shipping (tax excl.)'}{else}{l s='Total shipping'}{/if}</td>