diff --git a/modules/blocklayered/blocklayered.css b/modules/blocklayered/blocklayered.css index 8ac36f2d5..85e20b73d 100644 --- a/modules/blocklayered/blocklayered.css +++ b/modules/blocklayered/blocklayered.css @@ -4,7 +4,7 @@ #layered_block_left ul { padding-left: 0; - max-height: 100px; + max-height: 120px; overflow-y: auto; overflow-x: hidden; padding-left: 1px; @@ -107,4 +107,8 @@ } #layered_form .color-option.on { border: 1px solid red; +} +#layered_form input[type=radio] { + margin-left: 2px; + vertical-align: middle; } \ No newline at end of file diff --git a/modules/blocklayered/blocklayered.js b/modules/blocklayered/blocklayered.js index fc66b147b..628be3399 100644 --- a/modules/blocklayered/blocklayered.js +++ b/modules/blocklayered/blocklayered.js @@ -160,7 +160,17 @@ function getValueSelected(){ } function paginationButton() { - $('#pagination li').not('.current, .disabled').each( function () { + $('#pagination a').not(':hidden').each(function () { + if ($(this).attr('href').search('&p=') == -1) { + var page = 1; + } + else { + var page = $(this).attr('href').replace(/^.*&p=(\d+).*$/, '$1'); + } + var location = window.location.href.replace(/#.*$/, ''); + $(this).attr('href', location+current_friendly_url.replace(/\/page-(\d+)/, '')+'/page-'+page); + }); + $('#pagination li').not('.current, .disabled').each(function () { var nbPage = 0; if ($(this).attr('id') == 'pagination_next') nbPage = parseInt($('#pagination li.current').children().html())+ 1; diff --git a/modules/blocklayered/blocklayered.php b/modules/blocklayered/blocklayered.php index 22eb6f28f..d3b2e42ea 100644 --- a/modules/blocklayered/blocklayered.php +++ b/modules/blocklayered/blocklayered.php @@ -66,6 +66,7 @@ class BlockLayered extends Module Configuration::updateValue('PS_LAYERED_HIDE_0_VALUES', 0); Configuration::updateValue('PS_LAYERED_SHOW_QTIES', 1); Configuration::updateValue('PS_LAYERED_FULL_TREE', 1); + Configuration::updateValue('PS_LAYERED_FILTER_PRICE_USETAX', 1); $this->rebuildLayeredStructure(); $this->rebuildLayeredCache(); @@ -97,6 +98,7 @@ class BlockLayered extends Module Configuration::deleteByName('PS_LAYERED_SHOW_QTIES'); Configuration::deleteByName('PS_LAYERED_FULL_TREE'); Configuration::deleteByName('PS_LAYERED_INDEXED'); + Configuration::deleteByName('PS_LAYERED_FILTER_PRICE_USETAX'); Db::getInstance()->Execute('DROP TABLE IF EXISTS '._DB_PREFIX_.'layered_price_index'); Db::getInstance()->Execute('DROP TABLE IF EXISTS '._DB_PREFIX_.'layered_friendly_url'); @@ -116,9 +118,13 @@ class BlockLayered extends Module Db::getInstance()->Execute(' CREATE TABLE `'._DB_PREFIX_.'layered_price_index` ( - `id_product` INT NOT NULL, `id_currency` INT NOT NULL, - `price_min` INT NOT NULL, `price_max` INT NOT NULL, - PRIMARY KEY (`id_product`, `id_currency`), INDEX `id_currency` (`id_currency`), + `id_product` INT NOT NULL, + `id_currency` INT NOT NULL, + `id_shop` INT NOT NULL, + `price_min` INT NOT NULL, + `price_max` INT NOT NULL, + PRIMARY KEY (`id_product`, `id_currency`, `id_shop`), + INDEX `id_currency` (`id_currency`), INDEX `price_min` (`price_min`), INDEX `price_max` (`price_max`)) ENGINE = '._MYSQL_ENGINE_); } @@ -924,58 +930,56 @@ class BlockLayered extends Module $groups = array(); } - static $currencyList = null; - if (is_null($currencyList)) - $currencyList = Currency::getCurrencies(); - - $minPrice = array(); - $maxPrice = array(); - - if ($smart) - Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'layered_price_index` WHERE `id_product` = '.(int)$idProduct); - - $maxTaxRate = Db::getInstance()->getValue(' - SELECT max(t.rate) max_rate - FROM `'._DB_PREFIX_.'product` p - LEFT JOIN `'._DB_PREFIX_.'tax_rules_group` trg ON (trg.id_tax_rules_group = p.id_tax_rules_group) - LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (tr.id_tax_rules_group = trg.id_tax_rules_group) - LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.id_tax = tr.id_tax AND t.active = 1) - WHERE id_product = '.(int)$idProduct.' - GROUP BY id_product'); - - $productMinPrices = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' - SELECT id_shop, id_currency, id_country, id_group, from_quantity - FROM `'._DB_PREFIX_.'specific_price` - WHERE id_product = '.(int)$idProduct); - - // Get min price - foreach ($currencyList as $currency) + $shop_list = array(); + if (version_compare(_PS_VERSION_,'1.5','>')) { - $price = Product::priceCalculation(null, (int)$idProduct, null, null, null, null, - $currency['id_currency'], null, null, false, true, false, true, true, - $specificPriceOutput, true); - - if (!isset($maxPrice[$currency['id_currency']])) - $maxPrice[$currency['id_currency']] = 0; - if (!isset($minPrice[$currency['id_currency']])) - $minPrice[$currency['id_currency']] = null; - if ($price > $maxPrice[$currency['id_currency']]) - $maxPrice[$currency['id_currency']] = $price; - if ($price == 0) - continue; - if (is_null($minPrice[$currency['id_currency']]) || $price < $minPrice[$currency['id_currency']]) - $minPrice[$currency['id_currency']] = $price; + $shop_list = Shop::getShops(false, null, $get_as_list_id = true); + } + else { + $shop_list[] = 0; } - foreach ($productMinPrices as $specificPrice) + foreach ($shop_list as $id_shop) + { + static $currencyList = null; + + if (is_null($currencyList)) + { + if (version_compare(_PS_VERSION_,'1.5','>')) + $currencyList = Currency::getCurrencies(false, 1, new Shop($id_shop)); + else + $currencyList = Currency::getCurrencies(false, 1); + } + + $minPrice = array(); + $maxPrice = array(); + + if ($smart) + Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'layered_price_index` WHERE `id_product` = '.(int)$idProduct.' AND `id_shop` = '.(int)$id_shop); + + if (Configuration::get('PS_LAYERED_FILTER_PRICE_USETAX')) + $maxTaxRate = Db::getInstance()->getValue(' + SELECT max(t.rate) max_rate + FROM `'._DB_PREFIX_.'product` p + LEFT JOIN `'._DB_PREFIX_.'tax_rules_group` trg ON (trg.id_tax_rules_group = p.id_tax_rules_group) + LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (tr.id_tax_rules_group = trg.id_tax_rules_group) + LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.id_tax = tr.id_tax AND t.active = 1) + WHERE id_product = '.(int)$idProduct.' + GROUP BY id_product'); + else + $maxTaxRate = 0; + + $productMinPrices = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' + SELECT id_shop, id_currency, id_country, id_group, from_quantity + FROM `'._DB_PREFIX_.'specific_price` + WHERE id_product = '.(int)$idProduct); + + // Get min price foreach ($currencyList as $currency) { - if ($specificPrice['id_currency'] && $specificPrice['id_currency'] != $currency['id_currency']) - continue; - $price = Product::priceCalculation((($specificPrice['id_shop'] == 0) ? null : (int)$specificPrice['id_shop']), (int)$idProduct, - null, (($specificPrice['id_country'] == 0) ? null : $specificPrice['id_country']), null, null, - $currency['id_currency'], (($specificPrice['id_group'] == 0) ? null : $specificPrice['id_group']), - $specificPrice['from_quantity'], false, true, false, true, true, $specificPriceOutput, true); + $price = Product::priceCalculation($id_shop, (int)$idProduct, null, null, null, null, + $currency['id_currency'], null, null, false, true, false, true, true, + $specificPriceOutput, true); if (!isset($maxPrice[$currency['id_currency']])) $maxPrice[$currency['id_currency']] = 0; @@ -988,34 +992,60 @@ class BlockLayered extends Module if (is_null($minPrice[$currency['id_currency']]) || $price < $minPrice[$currency['id_currency']]) $minPrice[$currency['id_currency']] = $price; } - - foreach ($groups as $group) + + foreach ($productMinPrices as $specificPrice) + foreach ($currencyList as $currency) + { + if ($specificPrice['id_currency'] && $specificPrice['id_currency'] != $currency['id_currency']) + continue; + $price = Product::priceCalculation((($specificPrice['id_shop'] == 0) ? null : (int)$specificPrice['id_shop']), (int)$idProduct, + null, (($specificPrice['id_country'] == 0) ? null : $specificPrice['id_country']), null, null, + $currency['id_currency'], (($specificPrice['id_group'] == 0) ? null : $specificPrice['id_group']), + $specificPrice['from_quantity'], false, true, false, true, true, $specificPriceOutput, true); + + if (!isset($maxPrice[$currency['id_currency']])) + $maxPrice[$currency['id_currency']] = 0; + if (!isset($minPrice[$currency['id_currency']])) + $minPrice[$currency['id_currency']] = null; + if ($price > $maxPrice[$currency['id_currency']]) + $maxPrice[$currency['id_currency']] = $price; + if ($price == 0) + continue; + if (is_null($minPrice[$currency['id_currency']]) || $price < $minPrice[$currency['id_currency']]) + $minPrice[$currency['id_currency']] = $price; + } + + foreach ($groups as $group) + foreach ($currencyList as $currency) + { + $price = Product::priceCalculation(null, (int)$idProduct, null, null, null, null, (int)$currency['id_currency'], (int)$group['id_group'], + null, false, true, false, true, true, $specificPriceOutput, true); + + if (!isset($maxPrice[$currency['id_currency']])) + $maxPrice[$currency['id_currency']] = 0; + if (!isset($minPrice[$currency['id_currency']])) + $minPrice[$currency['id_currency']] = null; + if ($price > $maxPrice[$currency['id_currency']]) + $maxPrice[$currency['id_currency']] = $price; + if ($price == 0) + continue; + if (is_null($minPrice[$currency['id_currency']]) || $price < $minPrice[$currency['id_currency']]) + $minPrice[$currency['id_currency']] = $price; + } + + $values = array(); foreach ($currencyList as $currency) - { - $price = Product::priceCalculation(null, (int)$idProduct, null, null, null, null, (int)$currency['id_currency'], (int)$group['id_group'], - null, false, true, false, true, true, $specificPriceOutput, true); - - if (!isset($maxPrice[$currency['id_currency']])) - $maxPrice[$currency['id_currency']] = 0; - if (!isset($minPrice[$currency['id_currency']])) - $minPrice[$currency['id_currency']] = null; - if ($price > $maxPrice[$currency['id_currency']]) - $maxPrice[$currency['id_currency']] = $price; - if ($price == 0) - continue; - if (is_null($minPrice[$currency['id_currency']]) || $price < $minPrice[$currency['id_currency']]) - $minPrice[$currency['id_currency']] = $price; - } - - $values = array(); - foreach ($currencyList as $currency) - $values[] = '('.(int)$idProduct.', '.(int)$currency['id_currency'].', - '.(int)$minPrice[$currency['id_currency']].', '.(int)($maxPrice[$currency['id_currency']] * (100 + $maxTaxRate) / 100).')'; - - Db::getInstance()->Execute(' - INSERT INTO `'._DB_PREFIX_.'layered_price_index` (id_product, id_currency, price_min, price_max) - VALUES '.implode(',', $values).' - ON DUPLICATE KEY UPDATE id_product = id_product # avoid duplicate keys'); + $values[] = '('.(int)$idProduct.', + '.(int)$currency['id_currency'].', + '.$id_shop.', + '.(int)$minPrice[$currency['id_currency']].', + '.(int)($maxPrice[$currency['id_currency']] * (100 + $maxTaxRate) / 100).')'; + + Db::getInstance()->Execute(' + INSERT INTO `'._DB_PREFIX_.'layered_price_index` (id_product, id_currency, id_shop, price_min, price_max) + VALUES '.implode(',', $values).' + ON DUPLICATE KEY UPDATE id_product = id_product # avoid duplicate keys'); + } } public function hookLeftColumn($params) @@ -1222,6 +1252,7 @@ class BlockLayered extends Module Configuration::updateValue('PS_LAYERED_HIDE_0_VALUES', Tools::getValue('ps_layered_hide_0_values')); Configuration::updateValue('PS_LAYERED_SHOW_QTIES', Tools::getValue('ps_layered_show_qties')); Configuration::updateValue('PS_LAYERED_FULL_TREE', Tools::getValue('ps_layered_full_tree')); + Configuration::updateValue('PS_LAYERED_FILTER_PRICE_USETAX', Tools::getValue('ps_layered_filter_price_usetax')); $html .= '
'. @@ -1784,6 +1815,15 @@ class BlockLayered extends Module '.$this->l('No').' + + '.$this->l('Use tax to filter price').' + + '.$this->l('Yes').' + '.$this->l('Yes').' + '.$this->l('No').' + '.$this->l('No').' + +

@@ -1968,7 +2008,14 @@ class BlockLayered extends Module case 'quantity': if (count($selectedFilters['quantity']) == 2) break; - $queryFiltersWhere .= ' AND p.quantity '.(!$selectedFilters['quantity'][0] ? '=' : '>').' 0'; + if (version_compare(_PS_VERSION_,'1.5','>')) + { + $queryFiltersWhere .= ' AND sa.quantity '.(!$selectedFilters['quantity'][0] ? '>=' : '>').' 0 '; + $queryFiltersFrom .= 'LEFT JOIN stock_available sa ON (sa.id_product = p.id_product AND sa.id_shop = '.(int)Context::getContext()->shop->getID(true).') '; + } + else + $queryFiltersWhere .= ' AND p.quantity '.(!$selectedFilters['quantity'][0] ? '>=' : '>').' 0 '; + //$queryFiltersWhere .= ' AND p.quantity '.(!$selectedFilters['quantity'][0] ? '>=' : '>').' 0'; break; case 'manufacturer': @@ -2053,7 +2100,7 @@ class BlockLayered extends Module while ($product = DB::getInstance()->nextRow($allProductsOut)) if (isset($priceFilter) && $priceFilter) { - $price = (int)Product::getPriceStatic($product['id_product']); // Cast to int because we don't care about cents + $price = (int)Product::getPriceStatic($product['id_product'], Configuration::get('PS_LAYERED_FILTER_PRICE_USETAX')); // Cast to int because we don't care about cents if ($price < $priceFilter['min'] || $price > $priceFilter['max']) continue; $productIdList[] = (int)$product['id_product']; @@ -2115,7 +2162,7 @@ class BlockLayered extends Module { case 'price': case 'weight': - if ($value[0] == '' && $value[1] == '' || $value[0] == 0 && $value[1] == 0) + if ($value[0] == '' && $value[1] == '') unset($selectedFilters[$key]); break; default: @@ -2135,15 +2182,20 @@ class BlockLayered extends Module case 'weight': case 'condition': case 'quantity': - $sqlQuery['select'] = ' - SELECT p.`id_product`, p.`condition`, p.`id_manufacturer`, p.`quantity`, p.`weight` - '; + + if (version_compare(_PS_VERSION_,'1.5','>')) + $sqlQuery['select'] = 'SELECT p.`id_product`, p.`condition`, p.`id_manufacturer`, sa.`quantity`, p.`weight` '; + else + $sqlQuery['select'] = 'SELECT p.`id_product`, p.`condition`, p.`id_manufacturer`, p.`quantity`, p.`weight` '; $sqlQuery['from'] = ' FROM '._DB_PREFIX_.'product p '; $sqlQuery['join'] = ' INNER JOIN '._DB_PREFIX_.'category_product cp ON (cp.id_product = p.id_product) INNER JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category AND '.(Configuration::get('PS_LAYERED_FULL_TREE') ? 'c.nleft >= '.(int)$parent->nleft.' AND c.nright <= '.(int)$parent->nright : 'c.id_category = '.(int)$id_parent).') '; + if (version_compare(_PS_VERSION_,'1.5','>')) + $sqlQuery['join'] .= 'LEFT JOIN '._DB_PREFIX_.'stock_available sa + ON (sa.id_product = p.id_product AND sa.id_shop = '.(int)$this->context->shop->getID(true).') '; $sqlQuery['where'] = 'WHERE p.`active` = 1 '; $sqlQuery['group'] = ' GROUP BY p.id_product '; break; @@ -2258,7 +2310,7 @@ class BlockLayered extends Module $products = false; if (!empty($sqlQuery['from'])) $products = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sqlQuery['select']."\n".$sqlQuery['from']."\n".$sqlQuery['join']."\n".$sqlQuery['where']."\n".$sqlQuery['group']); - + foreach ($filters as $filterTmp) { $methodName = 'filterProductsBy'.ucfirst($filterTmp['type']); @@ -2742,7 +2794,7 @@ class BlockLayered extends Module if (isset($filterValue) && $filterValue && isset($product['price_min']) && isset($product['id_product']) && ((int)$filterValue[0] > $product['price_min'] || (int)$filterValue[1] < $product['price_max'])) { - $price = Product::getPriceStatic($product['id_product']); + $price = Product::getPriceStatic($product['id_product'], Configuration::get('PS_LAYERED_FILTER_PRICE_USETAX')); if ($price < $filterValue[0] || $price > $filterValue[1]) continue; unset($productCollection[$key]); @@ -2805,9 +2857,18 @@ class BlockLayered extends Module { if (count($filterValue) == 2 || empty($filterValue)) return array(); - $queryFilters = ' AND p.quantity '.(!$filterValue[0] ? '=' : '>').' 0 '; - return array('where' => $queryFilters); + $queryFiltersJoin = ''; + + if (version_compare(_PS_VERSION_,'1.5','>')) + { + $queryFilters = ' AND sav.quantity '.(!$filterValue[0] ? '>=' : '>').' 0 '; + $queryFiltersJoin = 'LEFT JOIN stock_available sav ON (sav.id_product = p.id_product AND sav.id_shop = '.(int)Context::getContext()->shop->getID(true).') '; + } + else + $queryFilters = ' AND p.quantity '.(!$filterValue[0] ? '>=' : '>').' 0 '; + + return array('where' => $queryFilters, 'join' => $queryFiltersJoin); } private static function getManufacturerFilterSubQuery($filterValue, $ignoreJoin) @@ -2902,9 +2963,9 @@ class BlockLayered extends Module @@ -2921,9 +2982,9 @@ class BlockLayered extends Module @@ -2941,9 +3002,9 @@ class BlockLayered extends Module @@ -2961,9 +3022,9 @@ class BlockLayered extends Module @@ -2982,8 +3043,8 @@ class BlockLayered extends Module @@ -3002,8 +3063,8 @@ class BlockLayered extends Module '; @@ -3028,9 +3089,9 @@ class BlockLayered extends Module '; $html .= ''; @@ -3055,9 +3116,9 @@ class BlockLayered extends Module '; $html .= ''; diff --git a/modules/blocklayered/blocklayered.tpl b/modules/blocklayered/blocklayered.tpl index 8d7b13d34..7cfcf53f6 100644 --- a/modules/blocklayered/blocklayered.tpl +++ b/modules/blocklayered/blocklayered.tpl @@ -47,13 +47,15 @@ param_product_url = ''; {foreach from=$filter_values key=filter_key item=filter_value name=f_values} {foreach from=$filters item=filter} {if $filter.type == $filter_type && isset($filter.values)} - {if isset($filter.slider) && $smarty.foreach.f_values.first} -
  • - x - {$filter.name|escape:html:'UTF-8'}{l s=':'} - {$filter.values[0]|escape:html:'UTF-8'}{$filter.unit|escape:html:'UTF-8'} - - {$filter.values[1]|escape:html:'UTF-8'}{$filter.unit|escape:html:'UTF-8'} -
  • + {if isset($filter.slider)} + {if $smarty.foreach.f_values.first} +
  • + x + {$filter.name|escape:html:'UTF-8'}{l s=':'} + {$filter.values[0]|escape:html:'UTF-8'}{$filter.unit|escape:html:'UTF-8'} - + {$filter.values[1]|escape:html:'UTF-8'}{$filter.unit|escape:html:'UTF-8'} +
  • + {/if} {else} {foreach from=$filter.values key=id_value item=value} {if $id_value == $filter_key && !is_numeric($filter_value) && ($filter.type eq 'id_attribute_group' || $filter.type eq 'id_feature') || $id_value == $filter_value && $filter.type neq 'id_attribute_group' && $filter.type neq 'id_feature'} @@ -85,7 +87,7 @@ param_product_url = ''; {if !isset($filter.slider)} {if $filter.filter_type == 0} {foreach from=$filter.values key=id_value item=value} -
  • +
  • {if isset($filter.is_color_group) && $filter.is_color_group} {if isset($value.checked) && $value.checked}{/if} @@ -103,7 +105,7 @@ param_product_url = ''; {/foreach} {else if $filter.filter_type == 1} {foreach from=$filter.values key=id_value item=value} -
  • +
  • {if isset($filter.is_color_group) && $filter.is_color_group} {if isset($value.checked) && $value.checked}{/if} diff --git a/modules/blocklayered/fr.php b/modules/blocklayered/fr.php index 3d6a763a3..db6b5778b 100644 --- a/modules/blocklayered/fr.php +++ b/modules/blocklayered/fr.php @@ -60,6 +60,12 @@ $_MODULE['<{blocklayered}prestashop>blocklayered_f72c75bdf80dc88b2529162f4947edc $_MODULE['<{blocklayered}prestashop>blocklayered_64646db703ca003a37bd1e73977a3a4d'] = 'Catégories utilisant ce modèle'; $_MODULE['<{blocklayered}prestashop>blocklayered_d758a9754eb9f36db05c22ad0c77e38e'] = 'Sélectionnez une ou plusieurs catégories utilisant ce modèle'; $_MODULE['<{blocklayered}prestashop>blocklayered_5965d2ce192837f00d743d8a674382c1'] = 'Cliquez sur \"Sauvegarder cette sélection\" ou fermez la fenêtre pour sauvegarder'; +$_MODULE['<{blocklayered}prestashop>blocklayered_8cf04a9734132302f96da8e113e80ce5'] = 'Accueil'; +$_MODULE['<{blocklayered}prestashop>blocklayered_b56c3bda503a8dc4be356edb0cc31793'] = 'Tout replier'; +$_MODULE['<{blocklayered}prestashop>blocklayered_5ffd7a335dd836b3373f5ec570a58bdc'] = 'Tout étendre'; +$_MODULE['<{blocklayered}prestashop>blocklayered_5e9df908eafa83cb51c0a3720e8348c7'] = 'Tout cocher'; +$_MODULE['<{blocklayered}prestashop>blocklayered_9747d23c8cc358c5ef78c51e59cd6817'] = 'Tout décocher'; +$_MODULE['<{blocklayered}prestashop>blocklayered_d0f06038b6b3aa5edc07c7a6fd3ca3f9'] = 'Chercher une catégorie'; $_MODULE['<{blocklayered}prestashop>blocklayered_72dd03f11489ff6f604a4eb57c957202'] = 'Sauvegarder cette sélection'; $_MODULE['<{blocklayered}prestashop>blocklayered_2e527847e8c785f3fd99651f64006798'] = 'Etape 2/3 - Sélectionnez vos filtres'; $_MODULE['<{blocklayered}prestashop>blocklayered_3488a51eb7f723d65daeff912e69b177'] = 'Filres sélectionnés'; @@ -80,6 +86,7 @@ $_MODULE['<{blocklayered}prestashop>blocklayered_93cba07454f06a4a960172bbd6e2a43 $_MODULE['<{blocklayered}prestashop>blocklayered_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non'; $_MODULE['<{blocklayered}prestashop>blocklayered_8531c73de81b9ed94322dda7cf947daa'] = 'Afficher le nombre de produits qui correspondent'; $_MODULE['<{blocklayered}prestashop>blocklayered_ee61c015043c79c1370fc14980dd27b9'] = 'Montrez les produits des sous-catégories'; +$_MODULE['<{blocklayered}prestashop>blocklayered_3e652bd299bb3ee3d458c0dcc7fd706e'] = 'Utiliser les taxes dans le filtre prix'; $_MODULE['<{blocklayered}prestashop>blocklayered_cf565402d32b79d33f626252949a6941'] = 'Configuration enregistré'; $_MODULE['<{blocklayered}prestashop>blocklayered_3601146c4e948c32b6424d2c0a7f0118'] = 'Prix'; $_MODULE['<{blocklayered}prestashop>blocklayered_8c489d0946f66d17d73f26366a4bf620'] = 'Poids'; @@ -94,12 +101,16 @@ $_MODULE['<{blocklayered}prestashop>blocklayered_c0bd7654d5b278e65f21cf4e9153fdb $_MODULE['<{blocklayered}prestashop>blocklayered_308edffd52afae39cc6277e246ec5df8'] = 'Filtres disponibles'; $_MODULE['<{blocklayered}prestashop>blocklayered_cfbc982f8fb7a0cc3abb3c85c795ab41'] = 'Filtre sous-catégories'; $_MODULE['<{blocklayered}prestashop>blocklayered_af605ea55ee39e54c444f217e346048f'] = 'Pas de limite'; -$_MODULE['<{blocklayered}prestashop>blocklayered_f7e8e9adfb9fbb546ae8b9b6ec2849b4'] = 'Autoriser la selection de plusieur valeur de filtre'; -$_MODULE['<{blocklayered}prestashop>blocklayered_3c151970b422e3e3cbf927166e4eade4'] = 'Une seul value par filtre'; +$_MODULE['<{blocklayered}prestashop>blocklayered_4f8222964f9a317cef99dddc23a121bd'] = 'Case à cocher'; +$_MODULE['<{blocklayered}prestashop>blocklayered_07a9ca8c8228dd3399141e228034fedf'] = 'Bouton radio'; +$_MODULE['<{blocklayered}prestashop>blocklayered_5204077231fc7164e2269e96b584dd95'] = 'Liste déroulante'; $_MODULE['<{blocklayered}prestashop>blocklayered_cd50ff1c5332f9920acf8173c4aab425'] = 'Filtre stock du produit'; $_MODULE['<{blocklayered}prestashop>blocklayered_048c1728a0a6cf36f56c9dcdd23d8a14'] = 'Filtre état du produit'; $_MODULE['<{blocklayered}prestashop>blocklayered_02ecc2cbb645a2b859deba6907334cc8'] = 'Filtre fabriquant du produit'; $_MODULE['<{blocklayered}prestashop>blocklayered_cc72ed9534a489b5d2e5882735bf1364'] = 'Filtre poids du produit (slider)'; +$_MODULE['<{blocklayered}prestashop>blocklayered_2d9b9a764fb0be4be10e1b2fce63f561'] = 'Slider'; +$_MODULE['<{blocklayered}prestashop>blocklayered_7e650380ef2b9cec2f2a96e6266ca93d'] = 'Zones de saisies'; +$_MODULE['<{blocklayered}prestashop>blocklayered_010359888c6e811caee8e540221f0a21'] = 'Listes de valeurs'; $_MODULE['<{blocklayered}prestashop>blocklayered_0649bb392812f99ff6b0e2ba160675fa'] = 'Filtre prix du produit (slider)'; $_MODULE['<{blocklayered}prestashop>blocklayered_d73c57be7aad115d20508215e8ea9951'] = 'Groupe d\'attributs :'; $_MODULE['<{blocklayered}prestashop>blocklayered_736b91750e516139acc13c5eb6564f92'] = 'attributs'; @@ -112,6 +123,6 @@ $_MODULE['<{blocklayered}prestashop>blocklayered_c32516babc5b6c47eb8ce1bfc223253 $_MODULE['<{blocklayered}prestashop>blocklayered_1262d1b9fbffb3a8e85ac9e4b449e989'] = 'Filtres actifs :'; $_MODULE['<{blocklayered}prestashop>blocklayered_ea4788705e6873b424c65e91c2846b19'] = 'Annuler'; $_MODULE['<{blocklayered}prestashop>blocklayered_853ae90f0351324bd73ea615e6487517'] = ' :'; +$_MODULE['<{blocklayered}prestashop>blocklayered_75954a3c6f2ea54cb9dff249b6b5e8e6'] = 'Tranche'; $_MODULE['<{blocklayered}prestashop>blocklayered_146ffe2fd9fa5bec3b63b52543793ec7'] = 'Voir plus'; $_MODULE['<{blocklayered}prestashop>blocklayered_c74ea6dbff701bfa23819583c52ebd97'] = 'Voir moins'; -$_MODULE['<{blocklayered}prestashop>blocklayered_75954a3c6f2ea54cb9dff249b6b5e8e6'] = 'Tranche';