в модуле filterpro mega идет вывод опций public function getOptions($data) { $sql = "SELECT DISTINCT ovd.option_value_id, ovd.*, od.name as 'option_name', ov.image FROM `" . DB_PREFIX . "option_value_description` ovd LEFT JOIN " . DB_PREFIX . "option_value ov ON(ovd.option_value_id=ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_description od ON(ov.option_id=od.option_id) LEFT JOIN `" . DB_PREFIX . "option` o ON(ov.option_id=o.option_id) LEFT JOIN " . DB_PREFIX . "product_option_value pov ON(ovd.`option_value_id`=pov.`option_value_id`) LEFT JOIN " . DB_PREFIX . "product p ON(pov.product_id = p.product_id)"; if($data['category_id']) { $sql .= "LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON(p.product_id = p2c.product_id) "; } $sql .= " WHERE p.status = '1'"; if($data['category_id']) { $sql .= " AND p2c.category_id = '" . (int)$data['category_id'] . "'"; } if($data['manufacturer_id']) { $sql .= " AND p.manufacturer_id = '" . (int)$data['manufacturer_id'] . "'"; } $sql .= " ORDER BY o.sort_order, ov.sort_order, ovd.option_id "; $query = $this->db->query($sql); $options = array(); foreach($query->rows as $row) { if(!isset($options[$row['option_id']])) { $options[$row['option_id']] = array('option_id' => $row['option_id'], 'name' => $row['option_name'], 'option_values' => array()); } $options[$row['option_id']]['option_values'][] = array('option_value_id' => $row['option_value_id'], 'name' => $row['name'], 'image' => $row['image']); } return $options; } а это вывод продуктов по опциям public function getProducts($data) { $customer_group_id = $this->getCustomerGroup(); $cache = md5(http_build_query($data)); $product_data = $this->cache->get('product.total.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache); if (empty($product_data)) { $sql = "SELECT product_id FROM("; $sql .= "SELECT DISTINCT p.product_id, pd.name, p.model, p.sort_order"; $sql .= ", coalesce((SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1), " . "(SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id ORDER BY ps.priority ASC, ps.price ASC LIMIT 1), " . "p.price) as realprice "; $sql .= "FROM " . DB_PREFIX . "product p" . " LEFT JOIN " . DB_PREFIX . "product_option_value pov ON (pov.product_id=p.product_id)" . " LEFT JOIN " . DB_PREFIX . "product_description pd ON (pd.product_id=p.product_id)" . " LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p2c.product_id=p.product_id)"; $sql .= " WHERE 1"; if($data['categories']) { $sql .= " AND p2c.category_id IN (" . implode(",", $data['categories']) . ")"; } if($data['option_value']){ foreach($data['option_value'] as $option_value){ foreach ($option_value as $option){ $sql .= " AND option_value_id = '".$option."'"; } } } вот собственно из-за этого $sql .= " AND option_value_id = '".$option."'"; сейчас выводит только по одной опции, если выбираю две то не выводит. Т.е. хочу сделать чтобы при второй отмеченной опции выводился товар из уже имеющихся товаров по первой опции
Вы сами то верите что вам помогут? Код не оформлен. Скринов нету. Задача не из легких. Модуль стоит не у каждого. Бесплатно вникать в модуль, который не у каждого есть под рукой? И у которого в принципе есть вменяемая платная поддержка!