Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
Contributing
|
||||
------------
|
||||
|
||||
PrestaShop is an open-source e-commerce solution - To contribute to our project, you can make pull requests on the development branch.
|
||||
PrestaShop is an open-source e-commerce solution - To contribute to our project, you can make pull requests on the bootstrap branch.
|
||||
If you need some help to make a [pull-request][1]
|
||||
All contributions must respect [the coding norm][2] and [the commit norm][3] in your pull-request.
|
||||
All core files you commit in your pull request must have Open Software License (OSL 3.0)
|
||||
|
||||
@@ -13,7 +13,7 @@ Tree.prototype =
|
||||
{
|
||||
var that = $(this);
|
||||
|
||||
this.$element.find("label.tree-toggler").click(
|
||||
this.$element.find("label.tree-toggler, .icon-folder-close, .icon-folder-open").click(
|
||||
function ()
|
||||
{
|
||||
if ($(this).parent().parent().children("ul.tree").is(":visible"))
|
||||
|
||||
@@ -132,11 +132,11 @@
|
||||
<section class="dash_simulation panel">
|
||||
<h3><i class="icon-link"></i> {l s="Simulation Mode"}</h3>
|
||||
<span class="switch prestashop-switch">
|
||||
<input id="PS_DASHBOARD_SIMULATION_on" class="ps_dashboard_simulation" type="radio" checked="checked" value="1" name="PS_DASHBOARD_SIMULATION">
|
||||
<input id="PS_DASHBOARD_SIMULATION_on" class="ps_dashboard_simulation" type="radio" {if $PS_DASHBOARD_SIMULATION == 1}checked="checked"{/if} value="1" name="PS_DASHBOARD_SIMULATION">
|
||||
<label class="radioCheck" for="PS_DASHBOARD_SIMULATION_on">
|
||||
<i class="icon-check-sign color_success"></i> {l s='Yes'}
|
||||
</label>
|
||||
<input id="PS_DASHBOARD_SIMULATION_off" class="ps_dashboard_simulation" type="radio" value="0" name="PS_DASHBOARD_SIMULATION">
|
||||
<input id="PS_DASHBOARD_SIMULATION_off" class="ps_dashboard_simulation" type="radio" {if $PS_DASHBOARD_SIMULATION == 0}checked="checked"{/if} value="0" name="PS_DASHBOARD_SIMULATION">
|
||||
<label class="radioCheck" for="PS_DASHBOARD_SIMULATION_off">
|
||||
<i class="icon-ban-circle color_danger"></i> {l s='No'}
|
||||
</label>
|
||||
|
||||
@@ -146,6 +146,9 @@
|
||||
// if the tab has not already been loaded, load it now
|
||||
tabs_manager.display(id, true);
|
||||
|
||||
if (btn_name == 'Associations')
|
||||
handleSaveButtons();
|
||||
|
||||
tabs_manager.onLoad(id, function(){
|
||||
$("#product-tab-content-"+id).show(0, function(){
|
||||
$(this).trigger('displayed');
|
||||
@@ -169,7 +172,8 @@
|
||||
{
|
||||
$('#desc-product-newCombination').hide();
|
||||
// if pack is enabled, save button are visible only if pack is valid
|
||||
handleSaveButtons();
|
||||
if (btn_name != 'Informations')
|
||||
handleSaveButtons();
|
||||
}
|
||||
hideOtherLanguage(default_language);
|
||||
$('.label-tooltip').tooltip();
|
||||
@@ -181,10 +185,6 @@
|
||||
if ($('#product-tab-content-Associations').hasClass('not-loaded'))
|
||||
disableSave();
|
||||
|
||||
tabs_manager.onLoad('Associations', function(){
|
||||
handleSaveButtons();
|
||||
});
|
||||
|
||||
$('.confirm_leave').live('click', function(){
|
||||
// Double quotes are necessary when the translated string has single quotes
|
||||
return confirm("{l s='You will lose all unsaved modifications. Are you sure that you\'d like to proceed?' js=1}");
|
||||
|
||||
+40
@@ -38,6 +38,14 @@
|
||||
function()
|
||||
{
|
||||
$(this).prop("checked", true);
|
||||
|
||||
$('select#id_category_default').append('<option value="'+$(this).val()+'">'+($(this).val() !=1 ? $(this).parent().find('label').html() : home)+'</option>');
|
||||
if ($('select#id_category_default option').length > 0)
|
||||
{
|
||||
$('select#id_category_default').closest('.form-group').show();
|
||||
$('#no_default_category').hide();
|
||||
}
|
||||
|
||||
$(this).parent().addClass("tree-selected");
|
||||
}
|
||||
);
|
||||
@@ -49,6 +57,14 @@
|
||||
function()
|
||||
{
|
||||
$(this).prop("checked", false);
|
||||
|
||||
$('select#id_category_default option[value='+$(this).val()+']').remove();
|
||||
if ($('select#id_category_default option').length == 0)
|
||||
{
|
||||
$('select#id_category_default').closest('.form-group').hide();
|
||||
$('#no_default_category').show();
|
||||
}
|
||||
|
||||
$(this).parent().removeClass("tree-selected");
|
||||
}
|
||||
);
|
||||
@@ -112,5 +128,29 @@
|
||||
}
|
||||
);
|
||||
{/if}
|
||||
|
||||
$("#{$id}").find(":input[type=checkbox]").click(
|
||||
function()
|
||||
{
|
||||
if ($(this).prop("checked"))
|
||||
{
|
||||
$('select#id_category_default').append('<option value="'+$(this).val()+'">'+($(this).val() !=1 ? $(this).parent().find('label').html() : home)+'</option>');
|
||||
if ($('select#id_category_default option').length > 0)
|
||||
{
|
||||
$('select#id_category_default').closest('.form-group').show();
|
||||
$('#no_default_category').hide();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$('select#id_category_default option[value='+$(this).val()+']').remove();
|
||||
if ($('select#id_category_default option').length == 0)
|
||||
{
|
||||
$('select#id_category_default').closest('.form-group').hide();
|
||||
$('#no_default_category').show();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
</script>
|
||||
@@ -57,7 +57,7 @@
|
||||
},
|
||||
function(res)
|
||||
{
|
||||
$('#categories-treeview').parent().html(res);
|
||||
$('#categories-tree').parent().parent().html(res);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<li class="tree-item{if isset($node['disabled']) && $node['disabled'] == true} tree-item-disable{/if}">
|
||||
<label class="tree-item-name">
|
||||
<input type="checkbox" name="categoryBox[]" value="{$node['id_category']}"{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} />
|
||||
<i class="tree-dot"></i>
|
||||
{$node['name']}
|
||||
</label>
|
||||
<span class="tree-item-name{if isset($node['disabled']) && $node['disabled'] == true} tree-item-name-disable{/if}">
|
||||
<input type="checkbox" name="categoryBox[]" value="{$node['id_category']}"{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} />
|
||||
<i class="tree-dot"></i>
|
||||
<label class="tree-toggler">{$node['name']}</label>
|
||||
</span>
|
||||
</li>
|
||||
@@ -248,9 +248,13 @@ class QqUploadedFileXhr
|
||||
|
||||
public function getSize()
|
||||
{
|
||||
if (isset($_SERVER['CONTENT_LENGTH']))
|
||||
return (int)$_SERVER['CONTENT_LENGTH'];
|
||||
else
|
||||
throw new Exception('Getting content length is not supported.');
|
||||
if (isset($_SERVER['CONTENT_LENGTH']) || isset($_SERVER['HTTP_CONTENT_LENGTH']))
|
||||
{
|
||||
if (isset($_SERVER['HTTP_CONTENT_LENGTH']))
|
||||
return (int)$_SERVER['HTTP_CONTENT_LENGTH'];
|
||||
else
|
||||
return (int)$_SERVER['CONTENT_LENGTH'];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,9 +87,9 @@ class HelperCore
|
||||
$override_tpl_path = _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/_configure/'.$this->override_folder.$this->base_folder.$tpl_name;
|
||||
else
|
||||
{
|
||||
if (file_exists($this->context->smarty->getTemplateDir(1).DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
|
||||
$override_tpl_path = $this->context->smarty->getTemplateDir(1).DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name;
|
||||
else if (file_exists($this->context->smarty->getTemplateDir(0).DIRECTORY_SEPARATOR.'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
|
||||
if (file_exists($this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name))
|
||||
$override_tpl_path = $this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name;
|
||||
else if (file_exists($this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
|
||||
$override_tpl_path = $this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name;
|
||||
|
||||
}
|
||||
|
||||
@@ -527,6 +527,10 @@ class AdminAttributesGroupsControllerCore extends AdminController
|
||||
'desc' => $this->l('Add New Attributes')
|
||||
);
|
||||
}
|
||||
$this->toolbar_btn['import'] = array(
|
||||
'href' => $this->context->link->getAdminLink('AdminImport', true).'&import_type=combinations',
|
||||
'desc' => $this->l('Import')
|
||||
);
|
||||
}
|
||||
|
||||
public function initToolbarTitle()
|
||||
|
||||
@@ -60,8 +60,11 @@ class AdminCustomersControllerCore extends AdminController
|
||||
$titles_array[$gender->id_gender] = $gender->name;
|
||||
|
||||
$this->_select = '
|
||||
a.date_add, gl.name as title,
|
||||
IF (YEAR(`birthday`) = 0, "-", (YEAR(CURRENT_DATE)-YEAR(`birthday`)) - (RIGHT(CURRENT_DATE, 5) < RIGHT(birthday, 5))) AS `age`, (
|
||||
a.date_add, gl.name as title, (
|
||||
SELECT SUM(total_paid_tax_excl / conversion_rate) FROM '._DB_PREFIX_.'orders o
|
||||
WHERE o.id_customer = a.id_customer
|
||||
AND active = 1
|
||||
) as total_spent, (
|
||||
SELECT c.date_add FROM '._DB_PREFIX_.'guest g
|
||||
LEFT JOIN '._DB_PREFIX_.'connections c ON c.id_guest = g.id_guest
|
||||
WHERE g.id_customer = a.id_customer
|
||||
@@ -92,10 +95,12 @@ class AdminCustomersControllerCore extends AdminController
|
||||
'email' => array(
|
||||
'title' => $this->l('Email address')
|
||||
),
|
||||
'age' => array(
|
||||
'title' => $this->l('Age'),
|
||||
'total_spent' => array(
|
||||
'title' => $this->l('Sales'),
|
||||
'type' => 'price',
|
||||
'search' => false,
|
||||
'align' => 'center'
|
||||
'havingFilter' => true,
|
||||
'align' => 'right'
|
||||
),
|
||||
'active' => array(
|
||||
'title' => $this->l('Enabled'),
|
||||
|
||||
@@ -236,6 +236,7 @@ class AdminDashboardControllerCore extends AdminController
|
||||
'new_version_url' => Tools::getCurrentUrlProtocolPrefix().'api.prestashop.com/version/check_version.php?v='._PS_VERSION_.'&lang='.$this->context->language->iso_code,
|
||||
'dashboard_use_push' => Configuration::get('PS_DASHBOARD_USE_PUSH'),
|
||||
'calendar' => $calendar_helper->generate(),
|
||||
'PS_DASHBOARD_SIMULATION' => Configuration::get('PS_DASHBOARD_SIMULATION'),
|
||||
'datepickerFrom' => Tools::getValue('datepickerFrom', $this->context->employee->stats_date_from),
|
||||
'datepickerTo' => Tools::getValue('datepickerTo', $this->context->employee->stats_date_to)
|
||||
);
|
||||
|
||||
@@ -46,10 +46,14 @@ class AdminOrdersControllerCore extends AdminController
|
||||
CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`,
|
||||
osl.`name` AS `osname`,
|
||||
os.`color`,
|
||||
IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new';
|
||||
IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new,
|
||||
country_lang.name as cname';
|
||||
|
||||
$this->_join = '
|
||||
LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`)
|
||||
INNER JOIN `'._DB_PREFIX_.'address` address ON address.id_address = a.id_address_delivery
|
||||
INNER JOIN `'._DB_PREFIX_.'country` country ON address.id_country = country.id_country
|
||||
INNER JOIN `'._DB_PREFIX_.'country_lang` country_lang ON (country.`id_country` = country_lang.`id_country` AND country_lang.`id_lang` = '.(int)$this->context->language->id.')
|
||||
LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`)
|
||||
LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')';
|
||||
$this->_orderBy = 'id_order';
|
||||
@@ -115,6 +119,34 @@ class AdminOrdersControllerCore extends AdminController
|
||||
'search' => false,
|
||||
'remove_onclick' => true)
|
||||
);
|
||||
|
||||
if (Country::isCurrentlyUsed('country', true))
|
||||
{
|
||||
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
|
||||
SELECT DISTINCT c.id_country, cl.`name`
|
||||
FROM `'._DB_PREFIX_.'orders` o
|
||||
'.Shop::addSqlAssociation('orders', 'o').'
|
||||
INNER JOIN `'._DB_PREFIX_.'address` a ON a.id_address = o.id_address_delivery
|
||||
INNER JOIN `'._DB_PREFIX_.'country` c ON a.id_country = c.id_country
|
||||
INNER JOIN `'._DB_PREFIX_.'country_lang` cl ON (c.`id_country` = cl.`id_country` AND cl.`id_lang` = '.(int)$this->context->language->id.')
|
||||
ORDER BY cl.name ASC');
|
||||
|
||||
$country_array = array();
|
||||
foreach ($result as $row)
|
||||
$country_array[$row['id_country']] = $row['name'];
|
||||
|
||||
$part1 = array_slice($this->fields_list, 0, 3);
|
||||
$part2 = array_slice($this->fields_list, 3);
|
||||
$part1['cname'] = array(
|
||||
'title' => $this->l('Delivery'),
|
||||
'type' => 'select',
|
||||
'list' => $country_array,
|
||||
'filter_key' => 'country!id_country',
|
||||
'filter_type' => 'int',
|
||||
'order_key' => 'cname'
|
||||
);
|
||||
$this->fields_list = array_merge($part1, $part2);
|
||||
}
|
||||
|
||||
$this->shopLinkType = 'shop';
|
||||
$this->shopShareDatas = Shop::SHARE_ORDER;
|
||||
|
||||
@@ -2479,6 +2479,11 @@ class AdminProductsControllerCore extends AdminController
|
||||
'class' => 'toolbar-new'
|
||||
);
|
||||
}
|
||||
else
|
||||
$this->toolbar_btn['import'] = array(
|
||||
'href' => $this->context->link->getAdminLink('AdminImport', true).'&import_type=products',
|
||||
'desc' => $this->l('Import')
|
||||
);
|
||||
|
||||
$this->context->smarty->assign('toolbar_scroll', 1);
|
||||
$this->context->smarty->assign('show_toolbar', 1);
|
||||
|
||||
@@ -203,8 +203,9 @@ class AdminShopControllerCore extends AdminController
|
||||
$children = Category::getChildren($root_category['id_category'], $this->context->language->id);
|
||||
foreach ($children as $child)
|
||||
$selected_cat[] = $child['id_category'];
|
||||
$helper = new Helper();
|
||||
$this->content = $helper->renderCategoryTree($root_category, $selected_cat);
|
||||
|
||||
$helper = new HelperTreeCategories('categories-tree', null, $root_category['id_category']);
|
||||
$this->content = $helper->setSelectedCategories($selected_cat)->setUseSearch(true)->setUseCheckBox(true)->render();
|
||||
}
|
||||
parent::displayAjax();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ID;Active (0/1);Name *;Parent category;Root category (0/1) ;Description;Meta title;Meta keywords;Meta description;URL rewritten;Image URL
|
||||
ID;Active (0/1);Name *;Parent category;Root category (0/1);Description;Meta title;Meta keywords;Meta description;URL rewritten;Image URL
|
||||
10;1;iPods;Home;0;Now that you can buy movies from the iTunes Store and sync them to your iPod, the whole world is your theater.;Meta title-iPods;Meta keywords-iPods;Meta description-iPods;music-ipods;http://yourlinktotheimage.com/img1000.jpg
|
||||
11;1;Accessories;Home;0;Wonderful accessories for your iPod;Meta title-Accessories;Meta keywords-Accessories;Meta description-Accessories;accessories-ipod;http://yourlinktotheimage.com/img1001.jpg
|
||||
12;1;Laptops;Home;0;The latest Intel processor, a bigger hard drive, plenty of memory, and even more new features all fit inside just one liberating inch. The new Mac laptops have the performance, power, and connectivity of a desktop computer. Without the desk part.;Meta title-Laptops;Meta keywords-Laptops;Meta description-Laptops;laptops;http://yourlinktotheimage.com/img1002.jpg
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
Product ID*;Attribute (Name:Type:Position)*;Value (Value:Position)*;Supplier reference;Reference;EAN13;UPC;Wholesale price;Impact on price;Ecotax;Quantity;Minimal quantity;Impact on weight;Default (0 = No, 1 = Yes);Image position;Image URL;Delete existing images (0 = No, 1 = Yes);ID / Name of shop
|
||||
Product ID*;Attribute (Name:Type:Position)*;Value (Value:Position)*;Supplier reference;Reference;EAN13;UPC;Wholesale price;Impact on price;Ecotax;Quantity;Minimal quantity;Impact on weight;Default (0 = No, 1 = Yes);Image position;Image URL;Delete existing images (0 = No, 1 = Yes);ID / Name of shop
|
||||
1;Color:color:0, Disk space:select:1;Blue:0, 16GB:1;RF-Nano-Blue-16GB;RP-Nano-Blue-16GB;0000080446392;;100;40;;10;1;0;0;1;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Blue:0, 8GB:1;RF-Nano-Blue-8GB;RP-Nano-Blue-8GB;0000080446393;;80;0;;10;1;0;0;2;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Yellow:0, 16GB:1;RF-Nano-Yellow-16GB;RP-Nano-Yellow-16GB;0000080446394;;100;40;;10;1;0;0;3;http://youdomain.com/img.jpg;1;
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
ID;Active (0/1);Name *;Categories (x,y,z...);Price tax excluded or Price tax included;Tax rules ID;Wholesale price;On sale (0/1);Discount amount;Discount percent;Discount from (yyyy-mm-dd);Discount to (yyyy-mm-dd);Reference #;Supplier reference #;Supplier;Manufacturer;EAN13;UPC;Ecotax;;;;Weight;Quantity;;;;;;Short description;Description;Tags (x,y,z...);Meta title;Meta keywords;Meta description;URL rewritten;Text when in stock;Text when backorder allowed;Available for order (0 = No, 1 = Yes);Product available date;Product creation date;Show price (0 = No, 1 = Yes);Image URLs (x,y,z...);Delete existing images (0 = No, 1 = Yes);Feature(Name:Value:Position);Available online only (0 = No, 1 = Yes);Condition;Customizable (0 = No, 1 = Yes);Uploadable files (0 = No, 1 = Yes);Text fields (0 = No, 1 = Yes);Out_of_stock;Advanced stock management;ID / Name of shop
|
||||
ID;Active (0/1);Name *;Categories (x,y,z...);Price tax excluded or Price tax included;Tax rules ID;Wholesale price;On sale (0/1);Discount amount;Discount percent;Discount from (yyyy-mm-dd);Discount to (yyyy-mm-dd);Reference #;Supplier reference #;Supplier;Manufacturer;EAN13;UPC;Ecotax;Width;Height;Depth;Weight;Quantity;Minimal quantity;Visibility;Additional shipping cost;Unity;Unit price ratio;Short description;Description;Tags (x,y,z...);Meta title;Meta keywords;Meta description;URL rewritten;Text when in stock;Text when backorder allowed;Available for order (0 = No, 1 = Yes);Product available date;Product creation date;Show price (0 = No, 1 = Yes);Image URLs (x,y,z...);Delete existing images (0 = No, 1 = Yes);Feature(Name:Value:Position);Available online only (0 = No, 1 = Yes);Condition;Customizable (0 = No, 1 = Yes);Uploadable files (0 = No, 1 = Yes);Text fields (0 = No, 1 = Yes);Out_of_stock;Advanced stock management;ID / Name of shop
|
||||
1;1;iPod Nano;iPods;100;1;80;1;;5.5;2013-06-01;2018-12-31;RP-demo_1;RF-demo_1;Applestore;Apple;1234567890123;;1;0.6;0.2;0.4;0.068357;160;1;;;;;<p>New design.</p>;<p>New design.</p>;apple, ipod, nano;Meta title-Nano;Meta keywords-Nano;Meta description-Nano;iPod-Nano;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-01;1;http://localhost/prestashop_1.5.6.0/img/p/1/5/15.jpg;0;;0;new;0;0;0;0;0;
|
||||
2;1;iPod shuffle;iPods;60;1;40;1;;;2013-06-01;2018-12-31;RP-demo_2;RF-demo_2;Applestore;Apple;1234567890123;;1;0.1;0.1;0.1;0.027563;120;1;both;;;;<p>New design.</p>;<p>New design.</p>;ipod, shuffle;Meta title-Shuffle;Meta keywords-Shuffle;Meta description-Shuffle;iPod-shuffle;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-02;1;http://localhost/prestashop_1.5.6.0/img/p/2/3/23.jpg;0;;0;new;0;0;0;0;0;
|
||||
3;1;MacBook Air;Laptops;1500;1;1000;1;100;;2013-06-01;2018-12-31;RP-demo_3;RF-demo_3;Applestore;Apple;1234567890123;;2;1.31;0.3;1;2.976846;400;1;catalog;;;;<p>New design.</p>;<p>New design.</p>;MacBook, Air;Meta title-McBookAir;Meta keywords-McBookAir;Meta description-McBookAir;MacBook-Air;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-03;1;http://localhost/prestashop_1.5.6.0/img/p/1/1.jpg;1;;0;new;0;0;0;0;0;
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
ID;Active (0/1);Name *;Description;Short description;Meta title;Meta keywords;Meta description
|
||||
1;1;Applestore;<p>The Apple Store is a chain of retail stores owned and operated by Apple Inc., dealing in computers and consumer electronics. The stores sell Macintosh personal computers, software, iPods, iPads, iPhones, third-party accessories, and other consumer electronics such as Apple TV. Some high profile stores feature a Theatre for presentations and workshops and a Studio for training with Apple products; all stores offer a Genius Bar for technical support and repairs, as well as free workshops available to the public. Under the leadership of Ron Johnson, the former Senior Vice President of Retail Operations, the Apple Stores have, according to an article in the New York Times, been responsible for "[turning] the boring computer sales floor into a sleek playroom filled with gadgets".</p>;;Meta title-Applestore;Meta keywords-Applestore;Meta description-Applestore
|
||||
2;1;Shure Online Store;<p><em>- No description -</em></p>;;Meta title-Shure Online Store;Meta keywords-Shure Online Store;Meta description-Shure Online Store
|
||||
3;1;Nippon Electronic Import;<p><em>- No description -</em></p>;;Meta title-Nippon Electronic Import;Meta keywords-Nippon Electronic Import;Meta description-Nippon Electronic Import
|
||||
ID;Active (0/1);Name *;Description;Short description;Meta title;Meta keywords;Meta description;Image URL
|
||||
1;1;Applestore;<p>The Apple Store is a chain of retail stores owned and operated by Apple Inc., dealing in computers and consumer electronics. The stores sell Macintosh personal computers, software, iPods, iPads, iPhones, third-party accessories, and other consumer electronics such as Apple TV. Some high profile stores feature a Theatre for presentations and workshops and a Studio for training with Apple products; all stores offer a Genius Bar for technical support and repairs, as well as free workshops available to the public. Under the leadership of Ron Johnson, the former Senior Vice President of Retail Operations, the Apple Stores have, according to an article in the New York Times, been responsible for "[turning] the boring computer sales floor into a sleek playroom filled with gadgets".</p>;Meta title-Applestore;Meta keywords-Applestore;Meta description-Applestore;http://localhost/prestashop/img/su/Pic-of-this-supplier.jpg
|
||||
2;1;Shure Online Store;<p><em>- No description -</em></p>;<p><em>- No description -</em></p>;Meta title-Shure Online Store;Meta keywords-Shure Online Store;Meta description-Shure Online Store;http://localhost/prestashop/img/su/Pic-of-this-supplier-2.jpg
|
||||
3;1;Nippon Electronic Import;<p><em>- No description -</em></p>;<p><em>- No description -</em></p>;Meta title-Nippon Electronic Import;Meta keywords-Nippon Electronic Import;Meta description-Nippon Electronic Import;http://localhost/prestashop/img/su/Pic-of-this-supplier-3.jpg
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 718.
|
@@ -74,6 +74,9 @@ class InstallControllerHttpSystem extends InstallControllerHttp
|
||||
if (!isset($this->tests['optional']))
|
||||
$this->tests['optional'] = $this->model_system->checkOptionalTests();
|
||||
|
||||
if (!is_callable('getenv') || !($user = @getenv('APACHE_RUN_USER')))
|
||||
$user = 'Apache';
|
||||
|
||||
// Generate display array
|
||||
$this->tests_render = array(
|
||||
'required' => array(
|
||||
@@ -96,21 +99,21 @@ class InstallControllerHttpSystem extends InstallControllerHttp
|
||||
)
|
||||
),
|
||||
array(
|
||||
'title' => $this->l('Recursive write permissions on files and folders:'),
|
||||
'title' => $this->l('Permissions on files and folders'),
|
||||
'success' => 1,
|
||||
'checks' => array(
|
||||
'config_dir' => '~/config/',
|
||||
'cache_dir' => '~/cache/',
|
||||
'log_dir' => '~/log/',
|
||||
'img_dir' => '~/img/',
|
||||
'mails_dir' => '~/mails/',
|
||||
'module_dir' => '~/modules/',
|
||||
'theme_lang_dir' => '~/themes/default/lang/',
|
||||
'theme_pdf_lang_dir' => '~/themes/default/pdf/lang/',
|
||||
'theme_cache_dir' => '~/themes/default/cache/',
|
||||
'translations_dir' => '~/translations/',
|
||||
'customizable_products_dir' => '~/upload/',
|
||||
'virtual_products_dir' => '~/download/'
|
||||
'config_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/config/'),
|
||||
'cache_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/cache/'),
|
||||
'log_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/log/'),
|
||||
'img_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/img/'),
|
||||
'mails_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/mails/'),
|
||||
'module_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/modules/'),
|
||||
'theme_lang_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/themes/default/lang/'),
|
||||
'theme_pdf_lang_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/themes/default/pdf/lang/'),
|
||||
'theme_cache_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/themes/default/cache/'),
|
||||
'translations_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/translations/'),
|
||||
'customizable_products_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/upload/'),
|
||||
'virtual_products_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/download/')
|
||||
)
|
||||
),
|
||||
),
|
||||
|
||||
@@ -145,7 +145,6 @@ product_tabs['Combinations'] = new function(){
|
||||
this.bindDefault = function(){
|
||||
$('table[id=combinations-list]').delegate('a.default', 'click', function(e){
|
||||
e.preventDefault();
|
||||
console.log('ok');
|
||||
self.defaultProductAttribute(this.href, this);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -123,7 +123,7 @@ $(document).ready(function()
|
||||
hideFilterValueAction(this);
|
||||
});
|
||||
|
||||
// To be sure there is no other events attached to the selectPrductSort, change the ID
|
||||
// To be sure there is no other events attached to the selectProductSort, change the ID
|
||||
var id = 1;
|
||||
while ($('#selectPrductSort').length) { // Because ids are duplicated
|
||||
// Unbind event change on #selectPrductSort
|
||||
@@ -134,8 +134,18 @@ $(document).ready(function()
|
||||
$('label[for=selectPrductSort]').attr('for', 'selectPrductSort'+id);
|
||||
id++;
|
||||
}
|
||||
|
||||
while ($('#selectProductSort').length) { // Because ids are duplicated
|
||||
// Unbind event change on #selectProductSort
|
||||
$('#selectProductSort').unbind('change');
|
||||
$('#selectProductSort').attr('onchange', '');
|
||||
$('#selectProductSort').addClass('selectProductSort');
|
||||
$('#selectProductSort').attr('id', 'selectProductSort'+id);
|
||||
$('label[for=selectProductSort]').attr('for', 'selectProductSort'+id);
|
||||
id++;
|
||||
}
|
||||
|
||||
// Since 1.5, event is add to .selectProductSort and not to #selectPrductSort
|
||||
// Since 1.5, event is add to .selectProductSort and not to #selectProductSort
|
||||
setTimeout(function() {
|
||||
$('.selectProductSort').unbind('change');
|
||||
}, 100);
|
||||
|
||||
@@ -1347,7 +1347,9 @@ class BlockLayered extends Module
|
||||
|
||||
|
||||
$this->context->controller->addJS(($this->_path).'blocklayered.js');
|
||||
$this->context->controller->addJQueryUI('ui.slider');
|
||||
$this->context->controller->addJS(_PS_JS_DIR_.'jquery/jquery-ui-1.8.10.custom.min.js');
|
||||
$this->context->controller->addJQueryUI('ui.slider');
|
||||
$this->context->controller->addCSS(_PS_CSS_DIR_.'jquery-ui-1.8.10.custom.css"');
|
||||
$this->context->controller->addCSS(($this->_path).'blocklayered-15.css', 'all');
|
||||
$this->context->controller->addJQueryPlugin('scrollTo');
|
||||
|
||||
@@ -1435,7 +1437,7 @@ class BlockLayered extends Module
|
||||
//<![CDATA[
|
||||
$(document).ready(function()
|
||||
{
|
||||
$(\'#selectPrductSort\').unbind(\'change\').bind(\'change\', function()
|
||||
$(\'#selectProductSort\').unbind(\'change\').bind(\'change\', function()
|
||||
{
|
||||
reloadContent();
|
||||
})
|
||||
@@ -2863,7 +2865,7 @@ class BlockLayered extends Module
|
||||
AND '.$alias.'.active = 1 AND '.$alias.'.`visibility` IN ("both", "catalog")';
|
||||
$sql_query['group'] = ') count_products
|
||||
FROM '._DB_PREFIX_.'category c
|
||||
LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (cl.id_category = c.id_category AND cl.id_lang = '.$id_lang.')
|
||||
LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (cl.id_category = c.id_category AND cl.`id_shop` = '.(int)Context::getContext()->shop->id.' and cl.id_lang = '.$id_lang.')
|
||||
WHERE c.nleft > '.(int)$parent->nleft.'
|
||||
AND c.nright < '.(int)$parent->nright.'
|
||||
'.($depth ? 'AND c.level_depth <= '.($parent->level_depth+(int)$depth) : '').'
|
||||
@@ -3166,6 +3168,23 @@ class BlockLayered extends Module
|
||||
if (isset($selected_filters['id_feature'][$feature['id_feature_value']]))
|
||||
$feature_array[$feature['id_feature']]['values'][$feature['id_feature_value']]['checked'] = true;
|
||||
}
|
||||
|
||||
//Natural sort
|
||||
foreach ($feature_array as $key => $value)
|
||||
{
|
||||
$temp = array();
|
||||
foreach ($feature_array[$key]['values'] as $keyint => $valueint)
|
||||
$temp[$keyint] = $valueint['name'];
|
||||
|
||||
natcasesort($temp);
|
||||
$temp2 = array();
|
||||
|
||||
foreach ($temp as $keytemp => $valuetemp)
|
||||
$temp2[$keytemp] = $feature_array[$key]['values'][$keytemp];
|
||||
|
||||
$feature_array[$key]['values'] = $temp2;
|
||||
}
|
||||
|
||||
$filter_blocks = array_merge($filter_blocks, $feature_array);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -94,7 +94,7 @@ param_product_url = '';
|
||||
{if $value.nbr || !$hide_0_values}
|
||||
<li class="nomargin {if $smarty.foreach.fe.index >= $filter.filter_show_limit}hiddable{/if}">
|
||||
{if isset($filter.is_color_group) && $filter.is_color_group}
|
||||
<input class="color-option {if isset($value.checked) && $value.checked}on{/if} {if !$value.nbr}disable{/if}" type="button" name="layered_{$filter.type_lite}_{$id_value}" rel="{$id_value}_{$filter.id_key}" id="layered_id_attribute_group_{$id_value}" {if !$value.nbr}disabled="disabled"{/if} style="background: {if isset($value.color)}{if file_exists($col_img_dir|cat:$id_value|cat:'.jpg')}url({$img_col_dir}{$id_value}.jpg){else}{$value.color}{/if}{else}#CCC{/if};" />
|
||||
<input class="color-option {if isset($value.checked) && $value.checked}on{/if} {if !$value.nbr}disable{/if}" type="button" name="layered_{$filter.type_lite}_{$id_value}" rel="{$id_value}_{$filter.id_key}" id="layered_id_attribute_group_{$id_value}" {if !$value.nbr}disabled="disabled"{/if} style="background: {if isset($value.color)}{if file_exists($col_img_dir|cat:$id_value|cat:'.jpg')}url({$img_col_dir}{$id_value}.jpg){else}{$value.color}{/if}{else}#CCC{/if};" title="{$value.name|escape:html:'UTF-8'}" />
|
||||
{if isset($value.checked) && $value.checked}<input type="hidden" name="layered_{$filter.type_lite}_{$id_value}" value="{$id_value}" />{/if}
|
||||
{else}
|
||||
<input type="checkbox" class="checkbox" name="layered_{$filter.type_lite}_{$id_value}" id="layered_{$filter.type_lite}{if $id_value || $filter.type == 'quantity'}_{$id_value}{/if}" value="{$id_value}{if $filter.id_key}_{$filter.id_key}{/if}"{if isset($value.checked)} checked="checked"{/if}{if !$value.nbr} disabled="disabled"{/if} />
|
||||
@@ -115,7 +115,7 @@ param_product_url = '';
|
||||
{if $value.nbr || !$hide_0_values}
|
||||
<li class="nomargin {if $smarty.foreach.fe.index >= $filter.filter_show_limit}hiddable{/if}">
|
||||
{if isset($filter.is_color_group) && $filter.is_color_group}
|
||||
<input class="radio color-option {if isset($value.checked) && $value.checked}on{/if} {if !$value.nbr}disable{/if}" type="button" name="layered_{$filter.type_lite}_{$id_value}" rel="{$id_value}_{$filter.id_key}" id="layered_id_attribute_group_{$id_value}" {if !$value.nbr}disabled="disabled"{/if} style="background: {if isset($value.color)}{if file_exists($col_img_dir|cat:$id_value|cat:'.jpg')}url({$img_col_dir}{$id_value}.jpg){else}{$value.color}{/if}{else}#CCC{/if};"/>
|
||||
<input class="radio color-option {if isset($value.checked) && $value.checked}on{/if} {if !$value.nbr}disable{/if}" type="button" name="layered_{$filter.type_lite}_{$id_value}" rel="{$id_value}_{$filter.id_key}" id="layered_id_attribute_group_{$id_value}" {if !$value.nbr}disabled="disabled"{/if} style="background: {if isset($value.color)}{if file_exists($col_img_dir|cat:$id_value|cat:'.jpg')}url({$img_col_dir}{$id_value}.jpg){else}{$value.color}{/if}{else}#CCC{/if};" title="{$value.name|escape:html:'UTF-8'}"/>
|
||||
{if isset($value.checked) && $value.checked}<input type="hidden" name="layered_{$filter.type_lite}_{$id_value}" value="{$id_value}" />{/if}
|
||||
{else}
|
||||
<input type="radio" class="radio layered_{$filter.type_lite}_{$id_value}" name="layered_{$filter.type_lite}{if $filter.id_key}_{$filter.id_key}{else}_1{/if}" id="layered_{$filter.type_lite}{if $id_value || $filter.type == 'quantity'}_{$id_value}{if $filter.id_key}_{$filter.id_key}{/if}{/if}" value="{$id_value}{if $filter.id_key}_{$filter.id_key}{/if}"{if isset($value.checked)} checked="checked"{/if}{if !$value.nbr} disabled="disabled"{/if} />
|
||||
|
||||
@@ -38,7 +38,7 @@ class BlockWishList extends Module
|
||||
{
|
||||
$this->name = 'blockwishlist';
|
||||
$this->tab = 'front_office_features';
|
||||
$this->version = 0.3;
|
||||
$this->version = 0.4;
|
||||
$this->author = 'PrestaShop';
|
||||
$this->need_instance = 0;
|
||||
|
||||
@@ -258,7 +258,7 @@ class BlockWishList extends Module
|
||||
$this->_html .= '
|
||||
<tr>
|
||||
<td class="first_item">
|
||||
<img src="'.$this->context->link->getImageLink($product['link_rewrite'], $product['cover'], 'small').'" alt="'.htmlentities($product['name'], ENT_COMPAT, 'UTF-8').'" style="float:left;" />
|
||||
<img src="'.$this->context->link->getImageLink($product['link_rewrite'], $product['cover'], ImageType::getFormatedName('small')).'" alt="'.htmlentities($product['name'], ENT_COMPAT, 'UTF-8').'" style="float:left;" />
|
||||
'.$product['name'];
|
||||
if (isset($product['attributes_small']))
|
||||
$this->_html .= '<br /><i>'.htmlentities($product['attributes_small'], ENT_COMPAT, 'UTF-8').'</i>';
|
||||
@@ -409,7 +409,7 @@ class BlockWishList extends Module
|
||||
foreach ($products as $key => $val)
|
||||
{
|
||||
$image = Image::getCover($val['id_product']);
|
||||
$products[$key]['image'] = $this->context->link->getImageLink($val['link_rewrite'], $image['id_image'], 'small');
|
||||
$products[$key]['image'] = $this->context->link->getImageLink($val['link_rewrite'], $image['id_image'], ImageType::getFormatedName('small'));
|
||||
}
|
||||
|
||||
$fields_list = array(
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<module>
|
||||
<name>blockwishlist</name>
|
||||
<displayName><![CDATA[Wishlist block]]></displayName>
|
||||
<version><![CDATA[0.3]]></version>
|
||||
<version><![CDATA[0.4]]></version>
|
||||
<description><![CDATA[Adds a block containing the customer's wishlists.]]></description>
|
||||
<author><![CDATA[PrestaShop]]></author>
|
||||
<tab><![CDATA[front_office_features]]></tab>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<div class="clearfix">
|
||||
<div class="product_image">
|
||||
<a href="{$link->getProductlink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='Product detail' mod='blockwishlist'}">
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.cover, 'medium_default')|escape:'html'}" alt="{$product.name|escape:'html':'UTF-8'}" />
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.cover, ImageType::getFormatedName('medium'))|escape:'html'}" alt="{$product.name|escape:'html':'UTF-8'}" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="product_infos">
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<div class="clearfix">
|
||||
<div class="product_image">
|
||||
<a href="{$link->getProductlink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='Product detail' mod='blockwishlist'}">
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.cover, 'medium_default')|escape:'html'}" alt="{$product.name|escape:'html':'UTF-8'}" />
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.cover, ImageType::getFormatedName('medium'))|escape:'html'}" alt="{$product.name|escape:'html':'UTF-8'}" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="product_infos">
|
||||
|
||||
@@ -62,11 +62,11 @@
|
||||
var priceDisplayMethod = {$priceDisplay};
|
||||
var roundMode = {$roundMode};
|
||||
</script>
|
||||
<link href="{$css_dir}/bootstrap_lib/bootstrap.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}/font-awesome.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}/jquery/uniform.default.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}/highdpi.css" rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" />
|
||||
<link href="{$css_dir}/jquery/footable.core.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}bootstrap_lib/bootstrap.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}font-awesome.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}jquery/uniform.default.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}highdpi.css" rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" />
|
||||
<link href="{$css_dir}jquery/footable.core.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$css_dir}jquery/jquery.bxslider.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,400italic,300italic,300,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css' />
|
||||
{if isset($css_files)}
|
||||
@@ -79,18 +79,18 @@
|
||||
<script type="text/javascript" src="{$js_uri}"></script>
|
||||
{/foreach}
|
||||
{/if}
|
||||
<script src="{$js_dir}/tools/bootstrap.min.js"></script>
|
||||
<script src="{$js_dir}tools/bootstrap.min.js"></script>
|
||||
<!--[if IE 8]><html class="no-js lt-ie9 ie8" lang="{$lang_iso}">
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="{$js_dir}/tools/jquery.total-storage.min.js"></script>
|
||||
<script src="{$js_dir}/jquery/jquery.uniform-modify.js"></script>
|
||||
<script src="{$js_dir}/jquery/highdpi.js"></script>
|
||||
<script src="{$js_dir}/jquery/jquery.bxslider.js"></script>
|
||||
<script src="{$js_dir}/jquery/footable.js"></script>
|
||||
<script src="{$js_dir}/jquery/footable.sort.js"></script>
|
||||
<script src="{$js_dir}/jquery/resonsive_utilites.js"></script>
|
||||
<script src="{$js_dir}tools/jquery.total-storage.min.js"></script>
|
||||
<script src="{$js_dir}jquery/jquery.uniform-modify.js"></script>
|
||||
<script src="{$js_dir}jquery/highdpi.js"></script>
|
||||
<script src="{$js_dir}jquery/jquery.bxslider.js"></script>
|
||||
<script src="{$js_dir}jquery/footable.js"></script>
|
||||
<script src="{$js_dir}jquery/footable.sort.js"></script>
|
||||
<script src="{$js_dir}jquery/resonsive_utilites.js"></script>
|
||||
{$HOOK_HEADER}
|
||||
</head>
|
||||
|
||||
|
||||
@@ -1073,6 +1073,8 @@ $(window).load(function () {
|
||||
$("select.form-control,input[type='checkbox']:not(.comparator), input[type='radio'],input#id_carrier2, input[type='file']").uniform();
|
||||
$("#uniform-selectPrductSort1").innerWidth(0);
|
||||
$("#uniform-selectPrductSort1 span").innerWidth(0);
|
||||
$("#uniform-selectProductSort1").innerWidth(0);
|
||||
$("#uniform-selectProductSort1 span").innerWidth(0);
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ $(document).ready(function()
|
||||
hideFilterValueAction(this);
|
||||
});
|
||||
|
||||
// To be sure there is no other events attached to the selectPrductSort, change the ID
|
||||
// To be sure there is no other events attached to the selectProductSort, change the ID
|
||||
var id = 1;
|
||||
while ($('#selectPrductSort').length) { // Because ids are duplicated
|
||||
// Unbind event change on #selectPrductSort
|
||||
@@ -134,6 +134,16 @@ $(document).ready(function()
|
||||
$('label[for=selectPrductSort]').attr('for', 'selectPrductSort'+id);
|
||||
id++;
|
||||
}
|
||||
|
||||
while ($('#selectProductSort').length) { // Because ids are duplicated
|
||||
// Unbind event change on #selectProductSort
|
||||
$('#selectProductSort').unbind('change');
|
||||
$('#selectProductSort').attr('onchange', '');
|
||||
$('#selectProductSort').addClass('selectProductSort');
|
||||
$('#selectProductSort').attr('id', 'selectProductSort'+id);
|
||||
$('label[for=selectProductSort]').attr('for', 'selectProductSort'+id);
|
||||
id++;
|
||||
}
|
||||
|
||||
// Since 1.5, event is add to .selectProductSort and not to #selectPrductSort
|
||||
setTimeout(function() {
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
//<![CDATA[
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('.selectPrductSort').change(function()
|
||||
$('.selectProductSort').change(function()
|
||||
{
|
||||
var requestSortProducts = '{$request}';
|
||||
var splitData = $(this).val().split(':');
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
<div class="{$container_class}">
|
||||
<form id="productsSortForm" action="{$request|escape:'html':'UTF-8'}">
|
||||
<select class="selectPrductSort">
|
||||
<select class="selectProductSort">
|
||||
<option value="{$orderbydefault|escape:'html':'UTF-8'}:{$orderwaydefault|escape:'html':'UTF-8'}" {if $orderby eq $orderbydefault}selected="selected"{/if}>{l s='Sort by'}</option>
|
||||
{if !$PS_CATALOG_MODE}
|
||||
<option value="price:asc" {if $orderby eq 'price' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Price: Lowest first'}</option>
|
||||
|
||||
@@ -60,8 +60,8 @@ $(document).ready(function(){
|
||||
{/if}
|
||||
<form id="productsSortForm{if isset($paginationId)}_{$paginationId}{/if}" action="{$request|escape:'html':'UTF-8'}" class="productsSortForm">
|
||||
<div class="select selector1">
|
||||
<label for="selectPrductSort{if isset($paginationId)}_{$paginationId}{/if}">{l s='Sort by'}</label>
|
||||
<select id="selectPrductSort{if isset($paginationId)}_{$paginationId}{/if}" class="selectProductSort form-control">
|
||||
<label for="selectProductSort{if isset($paginationId)}_{$paginationId}{/if}">{l s='Sort by'}</label>
|
||||
<select id="selectProductSort{if isset($paginationId)}_{$paginationId}{/if}" class="selectProductSort form-control">
|
||||
<option value="{$orderbydefault|escape:'html':'UTF-8'}:{$orderwaydefault|escape:'html':'UTF-8'}" {if $orderby eq $orderbydefault}selected="selected"{/if}>{l s='--'}</option>
|
||||
{if !$PS_CATALOG_MODE}
|
||||
<option value="price:asc" {if $orderby eq 'price' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Price: Lowest first'}</option>
|
||||
|
||||
Reference in New Issue
Block a user