КАк в OpenCart сделать filterpro чтобы показывались все категории
в файле
/catalog/controller/module/filterpro.php примерно в 400 строчке
сделайте так
$category_id = -1;
if(isset($this->request->post['category_id'])) {
// $category_id = $this->request->post['category_id'];
}
и в файле
/catalog/model/filterpro.php
сделайте дополнительно
в 130 строке примерно
" WHERE c.status=1 AND ";
if((int)$data['category_id']==-1) $sql .= ''; else $sql .= " c.parent_id = '" . (int)$data['category_id'] . "' AND";
$sql .= " cd.language_id =
и 146
if($data['category_id'] and $data['category_id']!=-1) {
$sql .= "LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON(p.product_id = p2c.product_id) ";
}
$sql .= "LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON(p.product_id=p2s.product_id)
WHERE ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id =" . (int)$this->config->get('config_store_id');
if($data['category_id'] and $data['category_id']!=-1) {
$sql .= " AND p2c.category_id = '" . (int)$data['category_id'] . "'";
}
и строка 190
if($data['category_id'] and $data['category_id']!=-1 ) {
$sql .= " LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p2c.product_id=p.product_id)";
}
$sql .= " WHERE p.status = '1' AND p.date_available <= NOW( ) AND p2s.store_id = " . (int)$this->config->get('config_store_id');
if($data['category_id'] and $data['category_id']!=-1 ) {
$sql .= " AND p2c.category_id = '" . (int)$data['category_id'] . "'";
}
и примерно в 750 строчке
i
f ($category_id==-1) $sql .= " AND c.status=1 AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW( ) AND p2s.store_id = " . (int)$this->config->get('config_store_id');
else $sql .= " AND c.status=1 AND c.parent_id = '" . $category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW( ) AND p2s.store_id = " . (int)$this->config->get('config_store_id');
$sql .= ") as innertable WHERE 1 ";
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)