Перейти к содержанию
dotsent

Нужен ли модуль "фильтр в категории" ?

Рекомендуемые сообщения

В виду того, что оперкарт не обладает большим функционалом, как например magento, захотелось сделать фильтры подобные magento и хочется поделиться с другими пользователями.Хочется получить совет по поводу какие фильтров, и стоит ли вообще выкладывать модуль ?Пока что реализованно фильтры по производителям в конкретной категории вот пример: http://chipollino.com.ua/igrushki.html. Какие фильтры планируется сделать:По производителям - уже есть (добавить возможность выбора нескольких производителей, список чекбоксов )По под категориям - список чекбоксов По цене от: до: + слайде jquery (http://jqueryui.com/demos/slider/#range) Жду ещё Ваших предложений по фильтрам и их функциональности ?

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочется получить совет по поводу какие фильтров, и стоит ли вообще выкладывать модуль ?

Разумеется стоит.Можно еще фильтрацию (множественную с чек-боксами) по состояниям на складе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Был бы очень полезен такой модуль, не хватает его в OpenCart'e :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый dotsent!Воюю уже четвертый день с чекбоксами производителей в категории.плз, если не затруднит - решение в студию, или укажите хоть, где рыть,ибо измучался весь =)С уважением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В виду того, что оперкарт не обладает большим функционалом, как например magento, захотелось сделать фильтры подобные magento и хочется поделиться с другими пользователями.Хочется получить совет по поводу какие фильтров, и стоит ли вообще выкладывать модуль ?Пока что реализованно фильтры по производителям в конкретной категории вот пример: http://chipollino.com.ua/igrushki.html. Какие фильтры планируется сделать:По производителям - уже есть (добавить возможность выбора нескольких производителей, список чекбоксов )По под категориям - список чекбоксов По цене от: до: + слайде jquery (http://jqueryui.com/demos/slider/#range) Жду ещё Ваших предложений по фильтрам и их функциональности ?

Доброй ночи, а где собственно Вы уважаемый делитесь данным модулем? :roll: очень нужен фильтр, только по-производителям. Судя как Вы написали, Вы уже его сделали. Можно исходник?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В данный момент был занят, там не так просто его выложить, так как там правились шаблоны сам код модуля. Могу выложить свой шаблон и контроллер, без инструкция что исправить или исправить кому надо на сайте. Сам модуль постараюсь доделать в ближайшее время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В данный момент был занят, там не так просто его выложить, так как там правились шаблоны сам код модуля. Могу выложить свой шаблон и контроллер, без инструкция что исправить или исправить кому надо на сайте. Сам модуль постараюсь доделать в ближайшее время.

Было бы не плохо, посмотреть на сам измененный код (в нем есть Ваши комментарии, в плане "My modify"?)Если Вы его дорабатываете, сам магазин у себя можно оформлять полностью, а потом только добавить модуль и все будет отлично? или стоит ждать модуля, а потом уже наполнять/создавать магазин? :roll: И еще один вопрос: Сам модуль отображает всех полностью производителей или только производителей, которые есть в данной категории?Так что, если вам будет не сложно, поделитесь уже измененными файлами. :cry: Может быть и разберемся как его интегрировать с 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> И еще один вопрос: Сам модуль отображает всех полностью производителей или только производителей, которые есть в данной категории?Только в данной категории, просто там правок у меня было много, я там добавил ещё сетку по сколько товаров выводить и так далее комментариев, к сожалению нет.Изменёнными файлами поделюсь завтра скорей всего, постараюсь добавить комментарии в код и шаблон, так как он отличается от стандартного.Пишите email в личку пришлю Вам изменения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну в общем с этим я тоже боролся.

В итоге делаю пока примитивным дополнением таблицы product полями-критериями для конкретной задачи, а потом в модели и контроллере дописываю необходимые критерии.

Вот что получилось в двух проектах

http://svobodamusic.net/music (нажать на фильтр материала)

и http://poliit.com.ua/index.php?route=product/category

Оба c AJAX.

В дальнейшем, хочу реализовать кастомное добавление опций и значений, при чем опции могут быть разных типов: чекбокс, радио, селект, слайдер и слайдер-диапазон. Можно еще текстовое поле с keyup, но есть поиск. Хотя если реализовать так фильтр, то нужда в поиске исчезнет.

Теперь вот думаю, что же выбрать, добавление полей ALTER'ом, что уж совсем низко, или же value_to_product.

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Супер! Очень понравился модуль. Давно ищу решение. Поделитесь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно. Здесь напишу пошагово, если администрация не против.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Супер! Я думаю, вряд-ли кто будет против. Наоборот

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну в общем с этим я тоже боролся.

В итоге делаю пока примитивным дополнением таблицы product полями-критериями для конкретной задачи, а потом в модели и контроллере дописываю необходимые критерии.

Вот что получилось в двух проектах

http://svobodamusic.net/music (нажать на фильтр материала)

и http://poliit.com.ua/index.php?route=product/category

Оба c AJAX.

В дальнейшем, хочу реализовать кастомное добавление опций и значений, при чем опции могут быть разных типов: чекбокс, радио, селект, слайдер и слайдер-диапазон. Можно еще текстовое поле с keyup, но есть поиск. Хотя если реализовать так фильтр, то нужда в поиске исчезнет.

Теперь вот думаю, что же выбрать, добавление полей ALTER'ом, что уж совсем низко, или же value_to_product.

Очень не плохо. В первом проекте понравилось. эх.... когда - же кто-то допишет сие чудо полностью и выложит... Доцент не связался так и (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Та уже вот дописываю. 95% общий прогресс, осталось красоту навести и подправить js для моментального отображения добавленной опции.Ну, а так же собрать все файлы в кучу и написать порядок установки.Ждите, сегодня-завтра выложу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Та уже вот дописываю. 95% общий прогресс, осталось красоту навести и подправить js для моментального отображения добавленной опции.Ну, а так же собрать все файлы в кучу и написать порядок установки.Ждите, сегодня-завтра выложу.

Очень жду, спасибо! Этого модуля очень не хватает..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я седня начал копать а тут уже готовое решение :) ждем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут же я. Извиняюсь за опоздание, но я решил сделать полноценный модуль и не с фиксированными опциями, как у меня в примерах, а изменяемыми / дополняемыми из админки. При чем в базу данных для этого лезть не надо. Всё автоматизированно. И еще, сюда же включил AJAX листалку в категории и AJAX сортировку. Всё это активируется после первого изменения параметров фильтра со стороны пользователя за время нахождения в категории.

Опишу ф-ции модуля Opencart Product Filter 1.0 :-) :

добавление опций фильтра и значений к ним

указание сортировки опций

указание одной или нескольких категорий, в которых будет действовать данная опция

поддержка мультиязычности

указание опций фильтра на странице редактирования товара. В зависимости от выбранных категорий, во вкладку Опции фильтра будут подгружаться на лету опции этой категории.

AJAX подгрузка товаров категории при изменении состояния фильтра.

Индикатор активности фильтра (громко сказано, просто jQuery анимация при любых действиях с input'ами фильтра).

Если что, пишите в асю, сюда редко захожу.

Буду рад выслушать замечания или предложения.

В следующей версии хочу сделать еще несколько типов полей фильтра: слайдер, слайдер-диапазон, текстовое поле.

Перейдем к установке:

Если у вас чистая система и вы еще ничего в её коде не изменяли, то качайте архив Openstore_module_product_filter_1.0_(clean_install).rar и просто извлеките файлы в корень с заменой и выполните запрос в базу данных

CREATE TABLE IF NOT EXISTS `category_option` (  `option_id` int(10) NOT NULL AUTO_INCREMENT,  `type` int(1) DEFAULT '0',  `sort_order` int(10) DEFAULT '0',  PRIMARY KEY (`option_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_description` (  `option_id` int(10) NOT NULL DEFAULT '0',  `language_id` int(10) NOT NULL DEFAULT '0',  `name` varchar(127) DEFAULT NULL,  PRIMARY KEY (`option_id`,`language_id`),  KEY `name` (`name`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_to_category` (  `option_id` int(11) NOT NULL,  `category_id` int(11) NOT NULL,  PRIMARY KEY (`category_id`,`option_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_value` (  `value_id` int(10) NOT NULL AUTO_INCREMENT,  `option_id` int(10) DEFAULT '0',  PRIMARY KEY (`value_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_value_description` (  `value_id` int(10) NOT NULL DEFAULT '0',  `language_id` int(10) NOT NULL DEFAULT '0',  `option_id` int(10) NOT NULL DEFAULT '0',  `name` varchar(127) DEFAULT NULL,  PRIMARY KEY (`value_id`,`language_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `product_to_value` (  `product_id` int(11) NOT NULL,  `value_id` int(11) NOT NULL DEFAULT '0',  PRIMARY KEY (`product_id`,`value_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Если нет, то установка "вручную", или на систему, которая уже подвергалась изменениям в коде:

1) Делаем запрос в базу данных

CREATE TABLE IF NOT EXISTS `category_option` (  `option_id` int(10) NOT NULL AUTO_INCREMENT,  `type` int(1) DEFAULT '0',  `sort_order` int(10) DEFAULT '0',  PRIMARY KEY (`option_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_description` (  `option_id` int(10) NOT NULL DEFAULT '0',  `language_id` int(10) NOT NULL DEFAULT '0',  `name` varchar(127) DEFAULT NULL,  PRIMARY KEY (`option_id`,`language_id`),  KEY `name` (`name`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_to_category` (  `option_id` int(11) NOT NULL,  `category_id` int(11) NOT NULL,  PRIMARY KEY (`category_id`,`option_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_value` (  `value_id` int(10) NOT NULL AUTO_INCREMENT,  `option_id` int(10) DEFAULT '0',  PRIMARY KEY (`value_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `category_option_value_description` (  `value_id` int(10) NOT NULL DEFAULT '0',  `language_id` int(10) NOT NULL DEFAULT '0',  `option_id` int(10) NOT NULL DEFAULT '0',  `name` varchar(127) DEFAULT NULL,  PRIMARY KEY (`value_id`,`language_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `product_to_value` (  `product_id` int(11) NOT NULL,  `value_id` int(11) NOT NULL DEFAULT '0',  PRIMARY KEY (`product_id`,`value_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
2) В файле adminviewtemplatecatalogproduct_form.tpl

После

<a tab="#tab_links"><?php echo $tab_links; ?></a>
Вставляем

<a tab="#tab_filter">Опции фильтра</a>
После блока

<div id="tab_general"></div>
Вставляем

<!-- Start tab filter-->      <div id="tab_filter">        Сначала необходимо выбрать категории товара      </div>      <!-- End tab filter-->
Теперь идем в конец файла, ДО

<?php echo $footer; ?>
Вставляем

<script type="text/javascript"><!--$.tabs('#tabs a'); $.tabs('#languages a'); //--></script><script type="text/javascript"><!--$('input[name=product_category[]]').live('change', function() {	getOptions();});<?php if (isset($this->request->get['product_id'])) { ?>  <?php $if_product_id = '&product_id=' . $this->request->get['product_id']; ?>  getOptions();<?php } else { ?>  <?php $if_product_id = ''; ?><?php } ?>function getOptions() {  var loadUrl = '';  var fields = $("input[name=product_category[]]").serializeArray();  jQuery.each(fields, function(i, field){     if (i == 0) {      loadUrl += field.value;     } else {      loadUrl += '_' + field.value;     }   });    $('#tab_filter').load('index.php?route=catalog/product/filter&token=<?php echo $token; ?><?php echo $if_product_id; ?>&path=' + loadUrl); }//--></script>
Сохраняем и закрываем.

3) Открываем файл adminmodelcatalogproduct.php

После блока (метод addProduct)

if (isset($data['product_store'])) {			foreach ($data['product_store'] as $store_id) {				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_store SET product_id = '" . (int)$product_id . "', store_id = '" . (int)$store_id . "'");			}		}
Вставляем

// Start Filter    if (isset($data['product_to_value_id'])) {			foreach ($data['product_to_value_id'] as $value_id) {				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_value SET product_id = '" . (int)$product_id . "', value_id = '" . (int)$value_id . "'");			}		}    // End filter
После блока (метод updateProduct)

$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_store WHERE product_id = '" . (int)$product_id . "'");		if (isset($data['product_store'])) {			foreach ($data['product_store'] as $store_id) {				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_store SET product_id = '" . (int)$product_id . "', store_id = '" . (int)$store_id . "'");			}		}
Вставляем

// Start filter		$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_value WHERE product_id = '" . (int)$product_id . "'");				if (isset($data['product_to_value_id'])) {			foreach ($data['product_to_value_id'] as $value_id) {				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_value SET product_id = '" . (int)$product_id . "', value_id = '" . (int)$value_id . "'");			}		}		// End filter
После (метод copyProduct)

$data = array_merge($data, array('product_store' => $this->getProductStores($product_id)));
Вставляем

// Start filter			$data = array_merge($data, array('product_to_value_id' => $this->getProductValues($product_id)));			// End filter
После (метод deleteProduct)

$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_store WHERE product_id = '" . (int)$product_id . "'");
Вставляем

// Start filter		$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_value WHERE product_id = '" . (int)$product_id . "'");		// End filter
Идем в конец файла, до закрытия класса вставляем

// Start filter	public function getProductValues($product_id) {    $values_id = array();       $query = $this->db->query("SELECT " . DB_PREFIX . "p2v.value_id AS value_id FROM " . DB_PREFIX . "product_to_value p2v WHERE p2v.product_id = '" . (int)$product_id . "'");        foreach ($query->rows as $result) {    	$values_id[] = $result['value_id'];    }        return $values_id;    }  // End filter
Сохраняем и закрываем

4) Открываем admincontrollercatalogproduct.php

и идем в конец файла, до закрытия класса вставляем

// Start filter   public function filter() {          $this->load->model('catalog/filter');          $this->load->model('catalog/product');        $this->data['category_options'] = array();        if (isset($this->request->get['path']) && $this->request->get['path'] != '') {             $parts = explode('_', $this->request->get['path']);            $results = $this->model_catalog_filter->getOptionByCategoriesId($parts);             if ($results) {               foreach($results as $option) {              $this->data['category_options'][] = array(                'option_id' => $option['option_id'],                'name' => $option['name'],                'type' => $option['type'],                'category_option_values' => $this->model_catalog_filter->getOptionValues($option['option_id'])              );            }          } else {            $this->data['message'] = 'Этой категории товаров не присвоен ниодин фильтр';          }          } else {          $this->data['message'] = 'Сначала выберите категорию товаров';        }                  if (isset($this->request->get['product_id'])) {             $product_id = $this->request->get['product_id'];          } else {             $product_id = 0;          }                       $product_info = $this->model_catalog_product->getProductValues($product_id);                    if (isset($this->request->post['product_to_value_id'])) {             $this->data['product_to_value_id'] = $this->request->post['product_to_value_id'];          } elseif (isset($product_info)) {             $this->data['product_to_value_id'] = $this->model_catalog_product->getProductValues($product_id);          } else {             $this->data['product_to_value_id'] = array();          }                  $this->data['language_id'] = $this->config->get('config_language_id');                 $this->template = 'catalog/get_ajax_options.tpl';                 $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));       }       // End filter
Сохраняем и закрываем.

5) Открываем catalogmodelcatalogproduct.php

Заменяем

public function getProductsByCategoryId($category_id, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) {
На

public function getProductsByCategoryId($category_id, $values, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) {
До блока

$sort_data = array(			'pd.name',			'p.sort_order',			'special',			'rating',			'p.price',			'p.model'		);
Вставляем

// Start filter          if (isset($values) && $values != '') {            $data = array();                   foreach (explode('_', $values) as $value_id) {              $data[] = "value_id = '" . (int)$value_id . "'";            }                        $sql .= " AND p.product_id IN (SELECT " . DB_PREFIX . "product_id FROM " . DB_PREFIX . "product_to_value WHERE " . implode(" OR ", $data) . ")";        }        // End filter
Заменяем весь метод public function getTotalProductsByCategoryId

На

public function getTotalProductsByCategoryId($category_id = 0, $values) {		$sql = "SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product_to_category p2c LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND p2c.category_id = '" . (int)$category_id . "'";        // Start filter    if (isset($values) && $values != '') {  		$data = array();            foreach (explode('_', $values) as $value_id) {  		  $data[] = "value_id = '" . (int)$value_id . "'";  		}  		  		$sql .= " AND p.product_id IN (SELECT product_id FROM " . DB_PREFIX . "product_to_value WHERE " . implode(" OR ", $data) . ")";    }    // End filter        $query = $this->db->query($sql);    		return $query->row['total'];	}
В этом же методе, до
$query = $this->db->query($sql);
Вставляем
// Start filter    if (isset($values) && $values != '') {  		$data = array();            foreach (explode('_', $values) as $value_id) {  		  $data[] = "value_id = '" . (int)$value_id . "'";  		}  		  		$sql .= " AND p.product_id IN (SELECT product_id FROM " . DB_PREFIX . "product_to_value WHERE " . implode(" OR ", $data) . ")";    }    // End filter
Сохраняем, закрываем.

6) Открываем catalogcontrollerproductcategory.php

Заменяем

$product_total = $this->model_catalog_product->getTotalProductsByCategoryId($category_id);
На

$product_total = $this->model_catalog_product->getTotalProductsByCategoryId($category_id, $values = NULL);
Заменяем

$results = $this->model_catalog_product->getProductsByCategoryId($category_id, $sort, $order, ($page - 1) * $this->config->get('config_catalog_limit'), $this->config->get('config_catalog_limit'));
На

$results = $this->model_catalog_product->getProductsByCategoryId($category_id, $values = NULL, $sort, $order, ($page - 1) * $this->config->get('config_catalog_limit'), $this->config->get('config_catalog_limit'));
7) Качаем архив Openstore_module_product_filter_1.0_(manual_install).rar и извлекаем в корень сайта с заменой.

8) Идем в админку -> дополнения и включаем фильтр. Дальше думаю всё ясно.

  • +1 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю, уважаемый коллега)) Отпишусь, ка протестирую =))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, не добавляются опции в админке. пишет "опция сохранена" обновляю страничку, а список еще пуст....думаю, что то с наименованием таблиц... у меня префикс oc_ в базе... может из-за того....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал чистую установку без префиксов в бд. Опции стали добавляться, однако при заходе в категорию выдает вот такой код

Warning: Missing argument 2 for ModelCatalogProduct::getTotalProductsByCategoryId(), called in Z:homelocalhostwww24catalogcontrollerproductcategory.php on line 101 and defined in Z:homelocalhostwww24catalogmodelcatalogproduct.php on line 64

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно! Забыл о префиксах, тогда запрос будет вида

CREATE TABLE IF NOT EXISTS `oc_category_option` (  `option_id` int(10) NOT NULL AUTO_INCREMENT,  `type` int(1) DEFAULT '0',  `sort_order` int(10) DEFAULT '0',  PRIMARY KEY (`option_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `oc_category_option_description` (  `option_id` int(10) NOT NULL DEFAULT '0',  `language_id` int(10) NOT NULL DEFAULT '0',  `name` varchar(127) DEFAULT NULL,  PRIMARY KEY (`option_id`,`language_id`),  KEY `name` (`name`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `oc_category_option_to_category` (  `option_id` int(11) NOT NULL,  `category_id` int(11) NOT NULL,  PRIMARY KEY (`category_id`,`option_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `oc_category_option_value` (  `value_id` int(10) NOT NULL AUTO_INCREMENT,  `option_id` int(10) DEFAULT '0',  PRIMARY KEY (`value_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `oc_category_option_value_description` (  `value_id` int(10) NOT NULL DEFAULT '0',  `language_id` int(10) NOT NULL DEFAULT '0',  `option_id` int(10) NOT NULL DEFAULT '0',  `name` varchar(127) DEFAULT NULL,  PRIMARY KEY (`value_id`,`language_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `oc_product_to_value` (  `product_id` int(11) NOT NULL,  `value_id` int(11) NOT NULL DEFAULT '0',  PRIMARY KEY (`product_id`,`value_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал чистую установку без префиксов в бд. Опции стали добавляться, однако при заходе в категорию выдает вот такой код

Warning: Missing argument 2 for ModelCatalogProduct::getTotalProductsByCategoryId(), called in Z:homelocalhostwww24catalogcontrollerproductcategory.php on line 101 and defined in Z:homelocalhostwww24catalogmodelcatalogproduct.php on line 64
Качните еще раз файл Openstore_module_product_filter_1.0_(clean_install).rar, я забыл добавить туда файл category.php, или же сделайте пункт №6 ручной установки.
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.