ExecuteS($query); } function getAttributesByProducts($id_lang, $id_products) { if (sizeof($id_products) == 0) return array(); foreach ($id_products AS $id) $ids .= $ids == ""?$id:",$id"; $query = ' SELECT agl.public_name AS name, al.name AS value, agl.id_attribute_group, al.id_attribute FROM '._DB_PREFIX_.'product_attribute pa, '._DB_PREFIX_.'attribute a, '._DB_PREFIX_.'attribute_group_lang agl, '._DB_PREFIX_.'attribute_lang al, '._DB_PREFIX_.'product_attribute_combination pac WHERE pa.id_product IN ('.$ids.') AND pa.id_product_attribute = pac.id_product_attribute AND pac.id_attribute = al.id_attribute AND a.id_attribute = al.id_attribute AND a.id_attribute_group = agl.id_attribute_group AND agl.id_lang = '.$id_lang.' AND al.id_lang = '.$id_lang.' GROUP BY pa.id_product,pac.id_attribute ORDER BY agl.public_name, al.name'; //print $query; $tmp_result = Db::getInstance()->ExecuteS($query); foreach ($tmp_result AS $row) $count[$row['name']."_".$row['value']]++; $result = array(); foreach ($tmp_result AS $row) { if ($added[$row['name']."_".$row['value']]) continue; $row['count'] = $count[$row['name']."_".$row['value']]; $added[$row['name']."_".$row['value']] = true; array_push($result,$row); } //print_r($result); return $result; } function getAttributesForProducts($id_lang, $id_products) { if (sizeof($id_products) == 0) return array(); foreach ($id_products AS $id) $ids .= $ids == ""?$id:",$id"; $query = ' SELECT pa.id_product, agl.id_attribute_group, al.id_attribute, pa.id_product_attribute FROM '._DB_PREFIX_.'product_attribute pa, '._DB_PREFIX_.'attribute a, '._DB_PREFIX_.'attribute_group_lang agl, '._DB_PREFIX_.'attribute_lang al, '._DB_PREFIX_.'product_attribute_combination pac WHERE pa.id_product IN ('.$ids.') AND pa.id_product_attribute = pac.id_product_attribute AND pac.id_attribute = al.id_attribute AND a.id_attribute = al.id_attribute AND a.id_attribute_group = agl.id_attribute_group AND agl.id_lang = '.$id_lang.' AND al.id_lang = '.$id_lang.' GROUP BY pa.id_product,pac.id_attribute'; $tmp_result = Db::getInstance()->ExecuteS($query); foreach ($tmp_result AS $row) if ($result[$row['id_product']]) array_push($result[$row['id_product']],$row['id_attribute']); else $result[$row['id_product']] = array($row['id_attribute']); return $result; } function getCategoriesByProducts($id_products) { if (sizeof($id_products) == 0) return array(); foreach ($id_products AS $id) $ids .= $ids == ""?$id:",$id"; $query = ' SELECT id_category, count(*) AS count FROM `'._DB_PREFIX_.'category_product` WHERE id_product IN ('.$ids.') GROUP BY id_category'; return Db::getInstance()->ExecuteS($query); } function getProductsByParentCategory($id_parent) { $result = Db::getInstance()->ExecuteS(' SELECT cp.id_product FROM `'._DB_PREFIX_.'category_product` AS cp, `'._DB_PREFIX_.'category` AS c WHERE c.id_parent = '.$id_parent.' AND c.id_category = cp. id_category GROUP BY id_product'); //print "Parent $id_parent = ".sizeof($result)." products
"; $return = array(); foreach ($result AS $row) array_push($return, $row['id_product']); return $return; } function getProductsByCategory($id_category) { $result = Db::getInstance()->ExecuteS(' SELECT cp.id_product FROM `'._DB_PREFIX_.'category_product` AS cp WHERE cp.id_category = '.$id_category); //print "Category $id_category = ".sizeof($result)." products
"; $return = array(); foreach ($result AS $row) array_push($return, $row['id_product']); return $return; } function addNumbersToCatList(&$cat_list, $found_products = array(), $filter = array(), $overwrite = true) { /* Add # of products next to cat list */ if (is_array($cat_list)) { $matching_products = array(); if (sizeof($found_products) > 0) foreach ($found_products AS $product) array_push($matching_products,$product['id_product']); foreach ($cat_list AS $id_parent => $cat) { if (sizeof($filter) > 0) { $products = getProductsByParentCategory($id_parent); foreach ($filter AS $filter_id_parent => $filter_id_category) if ($filter_id_parent != $id_parent) $products = array_intersect($products,getProductsByCategory($filter_id_category)); } if (sizeof($matching_products) > 0 && sizeof($filter) > 0) { $products = array_intersect($products,$matching_products); } else if (sizeof($matching_products) > 0) { $products = $matching_products; } $tmp_cat_count = getCategoriesByProducts($products); foreach ($tmp_cat_count AS $value) $cat_count[$value['id_category']] = $value['count']; foreach ($cat['sub'] AS $sub_order => $sub_arr) { if (!$overwrite && $cat_list[$id_parent]['sub'][$sub_order]['name_wc']) continue; else if ($cat_count[$sub_arr['id']]) $cat_list[$id_parent]['sub'][$sub_order]['name_wc'] = $sub_arr['name']." (".$cat_count[$sub_arr['id']].")"; else $cat_list[$id_parent]['sub'][$sub_order]['name_wc'] = $sub_arr['name']." (0)"; } } } } function addNumbersToOtherLists($products, &$manufacturer_list, &$supplier_list, &$price_list) { $is_man = Configuration::get('FB_MANUFACTURER'); $is_sup = Configuration::get('FB_SUPPLIER'); if (!$is_man && !$is_sup && !Configuration::get('FB_PRICE')) return; foreach ($products AS $product) { if ($is_man) foreach ($manufacturer_list AS $key => $row) { //print "if (".$product['id_manufacturer']." == ".$row['id_manufacturer']."
"; if ($product['id_manufacturer'] == $row['id_manufacturer']) $manufacturer_list[$key]['count']++; } if ($is_sup) foreach ($supplier_list AS $key => $row) { if ($product['id_supplier'] == $row['id_supplier']) $supplier_list[$key]['count']++; } if (sizeof($price_list) > 0) foreach ($price_list AS $key => $row) { $range = $row['range']; if ($range[0] == "-") $range = "0".$range; else if ($range[strlen($range)-1] == "-") $range .= "1000000000"; $minmax = explode("-",$range); if ($product['price'] >= $minmax[0] && $product['price'] <= $minmax[1]) $price_list[$key]['count']++; } } } $manufacturer_list = Configuration::get('FB_MANUFACTURER')?Manufacturer::getManufacturers():array(); $supplier_list = Configuration::get('FB_SUPPLIER')?Supplier::getSuppliers(false):array(); include_once(dirname(__FILE__).'/filterby.php'); $filterby = new FilterBy(); if ($objectType == "supplier" || $objectType == "manufacturer") ${'id_'.$objectType} = $id; else if (!$category) { if (substr(_PS_VERSION_,0,3) == "1.1" || substr(_PS_VERSION_,0,3) == "1.0") { $searchObj = new Search(); if ($query == "" && $tag != "") { $query = $tag; $search_type = "tag"; $search = $searchObj->tag(intval($cookie->id_lang), $query, false, 1, 10000); } else if ($query == "" && $ref != "") { $query = $ref; $search_type = "ref"; $search = $searchObj->ref(intval($cookie->id_lang), $query, false, 1, 10000); } else $search = $searchObj->find(intval($cookie->id_lang), $query, false, 1, 10000, $orderBy, $orderWay); $cat_products = $search; $nbProducts = is_array($search)?sizeof($search):0; } else { $search = Search::find(intval($cookie->id_lang), $query, 1, 10000, $orderBy, $orderWay); $cat_products = $search['result']; $nbProducts = $search['total']; } } if (!$category || $category->id != 1) { $filter = array(); if (Configuration::get('FB_CATEGORIES') == 1 || Configuration::get('FB_CATEGORIES_SINGLE') == 1) { /* Category Search */ $id_customer = intval($cookie->id_customer); $maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH'); if (substr(_PS_VERSION_,0,3) == "1.1" || substr(_PS_VERSION_,0,3) == "1.0") $cquery = 'SELECT DISTINCT c.*, cl.name FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.intval($cookie->id_lang).') WHERE 1' .(intval($maxdepth) != 0 ? ' AND `level_depth` <= '.intval($maxdepth) : '').' AND (c.`active` = 1) ORDER BY `level_depth` ASC,`id_parent` ASC, cl.`name` ASC'; else $cquery = 'SELECT DISTINCT c.*, cl.name FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.intval($cookie->id_lang).') LEFT JOIN `'._DB_PREFIX_.'category_group` ctg ON (ctg.`id_category` = c.`id_category`) '.($id_customer ? 'INNER JOIN `'._DB_PREFIX_.'customer_group` cg ON (cg.`id_group` = ctg.`id_group` AND cg.`id_customer` = '.intval($id_customer).')' : '' ).' WHERE 1' .(intval($maxdepth) != 0 ? ' AND `level_depth` <= '.intval($maxdepth) : '').' AND (c.`active` = 1) '.(!$id_customer ? 'AND ctg.`id_group` = 1' : '' ).' ORDER BY `level_depth` ASC,`id_parent` ASC, cl.`name` ASC'; $result = Db::getInstance()->ExecuteS($cquery); if (Configuration::get('FB_CATEGORIES') == 1) { foreach ($result AS $row) { if ($row['level_depth'] == ($category?$category->level_depth-1:1)) { $cat_list[$row['id_category']]['name'] = substr($row['name'],2,1) == "."?substr($row['name'],3):$row['name']; $cat_list[$row['id_category']]['id'] = $row['id_category']; $cat_list[$row['id_category']]['sub'] = array(); if (Tools::getValue('c'.$row['id_category'])) $filter[$row['id_category']] = Tools::getValue('c'.$row['id_category']); } else if ($row['level_depth'] == ($category?$category->level_depth:2)) { $arr = array(); $arr['id'] = $row['id_category']; $arr['name'] = substr($row['name'],2,1) == "."?substr($row['name'],3):$row['name']; array_push($cat_list[$row['id_parent']]['sub'],$arr); } } foreach ($cat_list AS $key => $cat) if (sizeof($cat['sub']) == 0) unset($cat_list[$key]); } else { foreach ($result AS $row) { if ($row['id_parent'] == 0) continue; if (!is_array($tmp_result[$row['id_category']]) && !is_array($tmp_result[$row['id_parent']])) $tmp_result[$row['id_category']] = array($row); else array_push($tmp_result[$row['id_parent']],$row); } $result = array(); foreach ($tmp_result AS $tmp_list) foreach ($tmp_list AS $row) array_push($result, $row); $cat_list['1']['name'] = $filterby?$filterby->l('Category'):''; $cat_list['1']['id'] = 1; $cat_list['1']['sub'] = array(); if (Tools::getValue('c1')) $filter['1'] = Tools::getValue('c1'); foreach ($result AS $row) { if ($row['level_depth'] >= 1) { $arr = array(); $arr['id'] = $row['id_category']; $arr['name'] = substr($row['name'],2,1) == "."?substr($row['name'],3):$row['name']; $tmp_cat = new Category($row['id_category'], intval($cookie->id_lang)); $tmp_cat_count = $tmp_cat->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true); $arr['name_wc'] = (substr($row['name'],2,1) == "."?substr($row['name'],3):$row['name'])." ($tmp_cat_count)"; array_push($cat_list['1']['sub'],$arr); } } foreach ($cat_list AS $key => $cat) if (sizeof($cat['sub']) == 0) unset($cat_list[$key]); } } /***************************************************************** Create a formatted price range list with the correct currency ******************************************************************/ if (Configuration::get('FB_PRICE') == 1) { $price_range = array(); $tmp_price_range = Configuration::get('FB_PRICES'); $tmp_price_range = $tmp_price_range != ""?unserialize($tmp_price_range):array(); foreach ($tmp_price_range AS $val) { if ($val[0] == "-") $price = Tools::displayPrice(substr($val,1), Currency::getCurrency(intval($cart->id_currency)))." ".$filterby->l('and Less'); elseif ($val[strlen($val)-1] == "-") $price = Tools::displayPrice(substr($val,0,strlen($val)-1), Currency::getCurrency(intval($cart->id_currency)))." ".$filterby->l('and More'); else { $arr = explode("-",$val); $price = Tools::displayPrice($arr[0], Currency::getCurrency(intval($cart->id_currency)))."-".Tools::displayPrice($arr[1], Currency::getCurrency(intval($cart->id_currency))); } $tmp_arr['range'] = $val; $tmp_arr['text'] = $price; array_push($price_range,$tmp_arr); } } /*********************************************** Check if any of the filters were selected ************************************************/ if (Configuration::get('FB_ATTRIBUTES') == 1 || Configuration::get('FB_FEATURES') == 1 || sizeof($filter) > 0 || Tools::getValue('ml') || Tools::getValue('sl') || Tools::getValue('pr')) { $applied_filters = false; $first = true; if ($category && sizeof($filter) == 0) { $total = $category->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true); $cat_products = $category->getProducts(intval($cookie->id_lang), 1, $total, $orderBy, $orderWay); $first = false; } else if ($object && !Tools::getValue('ml') && !Tools::getValue('sl')) { $total = $object->getProducts($id,NULL, NULL, NULL, $orderBy, $orderWay, true); $cat_products = $object->getProducts($id,intval($cookie->id_lang), 1, $total, $orderBy, $orderWay); $first = false; } else if(isset($search)) { $first = false; } if (!is_array($cat_products)) $cat_products = array(); foreach ($filter AS $key => $val) { $applied_filters = true; $tmp_category = new Category($val, intval($cookie->id_lang)); $tmp_total = $tmp_category->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true); $tmp_cat_products = $tmp_category->getProducts(intval($cookie->id_lang), 1, $tmp_total, $orderBy, $orderWay); if ($first) { $first = false; $cat_products = $tmp_cat_products; continue; } $new_products = array(); foreach ($tmp_cat_products as $row) array_push($new_products,$row['id_product']); foreach ($cat_products as $key1 => $val1) if (array_search($val1['id_product'],$new_products) === FALSE) unset($cat_products[$key1]); } /************************** Filter by Manufacturer ***************************/ if (Tools::getValue('ml')) { $applied_filters = true; $manufacturer = new Manufacturer(intval(Tools::getValue('ml')), $cookie->id_lang); $tmp_total = $manufacturer->getProducts(intval(Tools::getValue('ml')), NULL, NULL, NULL, $orderBy, $orderWay, true); $tmp_cat_products = $manufacturer->getProducts(intval(Tools::getValue('ml')),intval($cookie->id_lang), 1, $tmp_total, $orderBy, $orderWay); if ($first) { $first = false; $cat_products = $tmp_cat_products; } $new_products = array(); foreach ($tmp_cat_products as $row) array_push($new_products,$row['id_product']); foreach ($cat_products as $key1 => $val1) if (array_search($val1['id_product'],$new_products) === FALSE) unset($cat_products[$key1]); } /************************ Filter by Supplier *************************/ if (Tools::getValue('sl')) { $applied_filters = true; $supplier = new Supplier(intval(Tools::getValue('sl')), $cookie->id_lang); $tmp_total = $supplier->getProducts(intval(Tools::getValue('sl')), NULL, NULL, NULL, $orderBy, $orderWay, true); $tmp_cat_products = $supplier->getProducts(intval(Tools::getValue('sl')),intval($cookie->id_lang), 1, $tmp_total, $orderBy, $orderWay); if ($first) { $first = false; $cat_products = $tmp_cat_products; } $new_products = array(); foreach ($tmp_cat_products as $row) array_push($new_products,$row['id_product']); foreach ($cat_products as $key1 => $val1) if (array_search($val1['id_product'],$new_products) === FALSE) unset($cat_products[$key1]); } /******************* Filter by Price ********************/ if (Tools::getValue('pr') || Tools::getValue('price_min') || Tools::getValue('price_max')) { $applied_filters = true; $range = Tools::getValue('pr'); if ($range[0] == "-") { $min = 0; $max = substr($range,1); } else if ($range[strlen($range)-1] == "-") { $min = substr($range,0,strlen($range)-1); $max = 1000000000; } elseif ($range != "") { $range = explode("-",$range); $min = $range[0]; $max = $range[1]; } else { $min = Tools::getValue('price_min')?Tools::getValue('price_min'):0; $max = Tools::getValue('price_max')?Tools::getValue('price_max'):100000000; } foreach ($cat_products as $key1 => $val1) { if ($val1[substr(_PS_VERSION_,0,3) != "1.1" && intval(Configuration::get('FB_PRICE_TYPE_TAX'))==2?'price_tax_exc':'price'] < $min || $val1[substr(_PS_VERSION_,0,3) != "1.1" && intval(Configuration::get('FB_PRICE_TYPE_TAX'))==2?'price_tax_exc':'price'] > $max) unset($cat_products[$key1]); } } if (Configuration::get('FB_FEATURES') == 1 && sizeof($cat_products) > 0) { $id_arr = array(); foreach ($cat_products AS $product) array_push($id_arr,$product['id_product']); $feature_list = getFeaturesByProducts($cookie->id_lang,$id_arr); foreach ($feature_list AS $feature) { if (Tools::getValue(str_replace(" ","_",$feature['name']))) $features_selected[$feature['name']] = Tools::getValue(str_replace(" ","_",$feature['name'])); $tmp_value = array($feature['value'],intval($feature['count'])); if (is_array($features[$feature['name']])) array_push($features[$feature['name']],$tmp_value); else $features[$feature['name']] = array($tmp_value); } if (sizeof($features_selected) > 0) { $applied_filters = true; foreach ($cat_products as $key1 => $val1) { $tmp_product = $product = new Product($val1['id_product'], true, intval($cookie->id_lang)); $tmp_features = $product->getFrontFeatures(intval($cookie->id_lang)); foreach ($features_selected AS $s_feature => $s_value) { $f_feature = false; foreach ($tmp_features AS $product_feature) { if ($product_feature['name'] == $s_feature && $product_feature['value'] == $s_value) { $f_feature = true; break; } } if (!$f_feature) { unset($cat_products[$key1]); break; } } } } if (Configuration::get('FB_FEATURES_DISPLAY') == 1) { $id_arr = array(); foreach ($features AS $key => $product_feature) if ($features_selected[$key] == "") $features[$key] = array(); foreach ($cat_products AS $product) array_push($id_arr,$product['id_product']); $feature_list = getFeaturesByProducts($cookie->id_lang,$id_arr); foreach ($feature_list AS $feature) { $tmp_value = array($feature['value'],intval($feature['count'])); if (is_array($features[$feature['name']])) { if (!in_array($tmp_value,$features[$feature['name']])) array_push($features[$feature['name']],$tmp_value); } else $features[$feature['name']] = array($tmp_value); } foreach ($features AS $key => $feature) { if ($features_selected[$key]) continue; if (sizeof($features[$key]) <= 1 && !$features_selected[$key]) unset($features[$key]); } } } if (Configuration::get('FB_ATTRIBUTES') == 1 && sizeof($cat_products) > 0) { $id_arr = array(); foreach ($cat_products AS $product) array_push($id_arr,$product['id_product']); $attribute_list = getAttributesByProducts($cookie->id_lang,$id_arr); // print_r($attribute_list); $attributes_id_selected = array(); foreach ($attribute_list AS $attribute) { if (Tools::getValue(str_replace(" ","_",$attribute['name'])) == $attribute['value']) array_push($attributes_id_selected,$attribute['id_attribute']); if (Tools::getValue(str_replace(" ","_",$attribute['name']))) $attributes_selected[$attribute['name']] = Tools::getValue(str_replace(" ","_",$attribute['name'])); $tmp_value = array($attribute['value'],intval($attribute['count'])); if (is_array($attributes[$attribute['name']])) array_push($attributes[$attribute['name']],$tmp_value); else $attributes[$attribute['name']] = array($tmp_value); } if (sizeof($attributes_id_selected) > 0) { $applied_filters = true; $tmp_products = getAttributesForProducts(intval($cookie->id_lang),$id_arr); foreach ($cat_products as $key1 => $val1) { $f_attribute = false; foreach ($attributes_id_selected AS $s_attribute) { if (is_array($tmp_products[$val1['id_product']]) && in_array($s_attribute,$tmp_products[$val1['id_product']])) $f_attribute = true; if (!$f_attribute) { unset($cat_products[$key1]); break; } } } } if (sizeof($attributes_selected) > 0) { $id_arr = array(); foreach ($attributes AS $key => $product_attribute) if ($attributes_selected[$key] == "") $attributes[$key] = array(); unset($attributes); foreach ($cat_products AS $product) array_push($id_arr,$product['id_product']); $attribute_list = getAttributesByProducts($cookie->id_lang,$id_arr); foreach ($attribute_list AS $attribute) { $tmp_value = array($attribute['value'],intval($attribute['count'])); if (is_array($attributes[$attribute['name']])) array_push($attributes[$attribute['name']],$tmp_value); else $attributes[$attribute['name']] = array($tmp_value); } } } addNumbersToCatList($cat_list, $cat_products, $filter, $category?$applied_filters:true); addNumbersToOtherLists($cat_products, $manufacturer_list, $supplier_list, $price_range); /*********************************** Display Results with Pagination ************************************/ $nbProducts = sizeof($cat_products); include($filter_pagination.'/pagination.php'); $cat_products = array_slice($cat_products,(intval($p)-1)* intval($n), intval($n)); } else if ($category) { $nbProducts = $category->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true); include($filter_pagination.'/pagination.php'); $cat_products = $category->getProducts(intval($cookie->id_lang), 1, $nbProducts, $orderBy, $orderWay); addNumbersToCatList($cat_list, $cat_products, array(),false); addNumbersToOtherLists($cat_products, $manufacturer_list, $supplier_list, $price_range); $cat_products = array_slice($cat_products,(intval($p)-1)* intval($n), intval($n)); } else if ($objectType) { $nbProducts = $object->getProducts($id, NULL, NULL, NULL, $orderBy, $orderWay, true); include($filter_pagination.'/pagination.php'); $cat_products = $object->getProducts($id, intval($cookie->id_lang), 1, $nbProducts, $orderBy, $orderWay); addNumbersToCatList($cat_list, $cat_products, array(), true); addNumbersToOtherLists($cat_products, $manufacturer_list, $supplier_list, $price_range); $cat_products = array_slice($cat_products,(intval($p)-1)* intval($n), intval($n)); } else { include($filter_pagination.'/pagination.php'); addNumbersToCatList($cat_list,$cat_products, array(), true); addNumbersToOtherLists($cat_products, $manufacturer_list, $supplier_list, $price_range); $cat_products = array_slice($cat_products,(intval($p)-1)* intval($n), intval($n)); } } //print_r($attributes_selected); if ($category) { $smarty->assign(array( 'products' => (isset($cat_products) AND $cat_products) ? $cat_products : NULL, 'fb_products' => (isset($cat_products) AND $cat_products) ? $cat_products : NULL, 'nb_products'=> $nbProducts, 'fb_display' => ($nbProducts > 1 || $applied_filters?1:0), 'id_category' => intval($category->id), 'id_category_parent' => intval($category->id_parent), 'return_category_name' => Tools::safeOutput(Category::hideCategoryPosition($category->name)), 'path' => Tools::getPath(intval($category->id), $category->name), 'cat_list' => $cat_list, 'fb_manufacturers' => $manufacturer_list, 'fb_suppliers' => $supplier_list, 'fb_ml' => Configuration::get('FB_MANUFACTURER'), 'fb_sl' => Configuration::get('FB_SUPPLIER'), 'fb_pr' => Configuration::get('FB_PRICE'), 'fb_prt' => Configuration::get('FB_PRICE_TYPE'), 'fb_fe' => Configuration::get('FB_FEATURES'), 'fb_ct' => Configuration::get('FB_CATEGORIES')?Configuration::get('FB_CATEGORIES'):(Configuration::get('FB_CATEGORIES_SINGLE_HIDE_EMPTY')?"":Configuration::get('FB_CATEGORIES_SINGLE')), 'fb_at' => Configuration::get('FB_ATTRIBUTES'), 'ml' => Tools::getValue('ml'), 'sl' => Tools::getValue('sl'), 'pr' => Tools::getValue('pr'), 'price_range' => $price_range, 'price_min' => Tools::getValue('price_min'), 'price_max' => Tools::getValue('price_max'), 'filter' => $filter, 'features_sel' => $features_selected, 'features_list' => $features, 'attributes_sel' => $attributes_selected, 'attributes_list' => $attributes, 'hide_empty_categories' => Configuration::get('FB_CATEGORIES_HIDE_EMPTY')?Configuration::get('FB_CATEGORIES_HIDE_EMPTY'):Configuration::get('FB_CATEGORIES_SINGLE_HIDE_EMPTY'), 'hide_empty_manufacturer' => Configuration::get('FB_MANUFACTURER_HIDE_EMPTY'), 'hide_empty_supplier' => Configuration::get('FB_SUPPLIER_HIDE_EMPTY'), 'hide_empty_price' => Configuration::get('FB_PRICE_HIDE_EMPTY'), 'ps_version_2' => substr(_PS_VERSION_,0,3), 'fb_currency' => Currency::getCurrency(intval($cart->id_currency)))); } else if ($objectType) { $smarty->assign(array( 'nb_products' => $nbProducts, 'products' => $cat_products, 'fb_products' => $cat_products, 'fb_display' => ($nbProducts > 1 || $applied_filters?1:0), 'cat_list' => $cat_list, 'id_manufacturer' => $id_manufacturer, 'id_supplier' => $id_supplier, 'o_manufacturer' => $object->id, 'o_supplier' => $object->id, 'fb_manufacturers' => $manufacturer_list, 'fb_suppliers' => $supplier_list, 'fb_ml' => Configuration::get('FB_MANUFACTURER_HIDE')?"":Configuration::get('FB_MANUFACTURER'), 'fb_sl' => Configuration::get('FB_SUPPLIER'), 'fb_pr' => Configuration::get('FB_PRICE'), 'fb_prt' => Configuration::get('FB_PRICE_TYPE'), 'fb_fe' => Configuration::get('FB_FEATURES'), 'fb_ct' => Configuration::get('FB_CATEGORIES')?Configuration::get('FB_CATEGORIES'):Configuration::get('FB_CATEGORIES_SINGLE'), 'fb_at' => Configuration::get('FB_ATTRIBUTES'), 'ml' => Tools::getValue('ml'), 'sl' => Tools::getValue('sl'), 'pr' => Tools::getValue('pr'), 'price_range' => $price_range, 'price_min' => Tools::getValue('price_min'), 'price_max' => Tools::getValue('price_max'), 'filter' => $filter, 'features_sel' => $features_selected, 'features_list' => $features, 'attributes_sel' => $attributes_selected, 'attributes_list' => $attributes, 'hide_empty_categories' => Configuration::get('FB_CATEGORIES_HIDE_EMPTY')?Configuration::get('FB_CATEGORIES_HIDE_EMPTY'):Configuration::get('FB_CATEGORIES_SINGLE_HIDE_EMPTY'), 'hide_empty_manufacturer' => Configuration::get('FB_MANUFACTURER_HIDE_EMPTY'), 'hide_empty_supplier' => Configuration::get('FB_SUPPLIER_HIDE_EMPTY'), 'hide_empty_price' => Configuration::get('FB_PRICE_HIDE_EMPTY'), 'ps_version_2' => substr(_PS_VERSION_,0,3), $objectType => $object)); } else { $smarty->assign(array( 'products' => $cat_products, 'fb_products' => $cat_products, 'nbProducts' => $nbProducts, 'fb_display' => ($nbProducts > 1 || $applied_filters?1:0), 'cat_list' => $cat_list, 'fb_manufacturers' => $manufacturer_list, 'fb_suppliers' => $supplier_list, 'fb_ml' => Configuration::get('FB_MANUFACTURER'), 'fb_sl' => Configuration::get('FB_SUPPLIER'), 'fb_pr' => Configuration::get('FB_PRICE'), 'fb_prt' => Configuration::get('FB_PRICE_TYPE'), 'fb_fe' => Configuration::get('FB_FEATURES'), 'fb_ct' => Configuration::get('FB_CATEGORIES')?Configuration::get('FB_CATEGORIES'):Configuration::get('FB_CATEGORIES_SINGLE'), 'fb_at' => Configuration::get('FB_ATTRIBUTES'), 'ml' => Tools::getValue('ml'), 'sl' => Tools::getValue('sl'), 'pr' => Tools::getValue('pr'), 'price_range' => $price_range, 'price_min' => Tools::getValue('price_min'), 'price_max' => Tools::getValue('price_max'), 'filter' => $filter, 'features_sel' => $features_selected, 'features_list' => $features, 'attributes_sel' => $attributes_selected, 'attributes_list' => $attributes, 'hide_empty_categories' => Configuration::get('FB_CATEGORIES_HIDE_EMPTY')?Configuration::get('FB_CATEGORIES_HIDE_EMPTY'):Configuration::get('FB_CATEGORIES_SINGLE_HIDE_EMPTY'), 'hide_empty_manufacturer' => Configuration::get('FB_MANUFACTURER_HIDE_EMPTY'), 'hide_empty_supplier' => Configuration::get('FB_SUPPLIER_HIDE_EMPTY'), 'hide_empty_price' => Configuration::get('FB_PRICE_HIDE_EMPTY'), 'ps_version_2' => substr(_PS_VERSION_,0,3), 'search_type' => $search_type, 'query' => $query)); } ?> Comprar bikinis na loja online Bikinis Brasileiros Online
  • Não existem produtos nesta categoria.
  • Mais Vendidos

    • Bikini Preto
      Bikini Preto
      O Bikini Preto é um lindo, sexy e fashion bikini fabricado no Rio de... Ver
    • Bikini Alicante
      Bikini Alicante
      O biquini Alicante é castanho com padrão florido. A parte de cima do... Ver
    • Bikini Army
      Bikini Army
      O bikini Army é um lindo bikini verde tropa. A cueca do bikini é estilo... Ver
    • Bikini Arpoador
      Bikini Arpoador
      Arpoador é um bikini brasileiro laranja com padrão florido. O impresso de... Ver

    Novos produtos

    sem produtos novos