Рубрика «OpenCart»

Понедельник, 14 Окт 2013 в 11:53

OpenCart AJAX фильтр товаров в админке

Установил полезный модуль Фильтр товаров в админке с AJAX на OpenCart 1.5.5.1, но с данной версией OpenCart он не захотел работать. Посему пошерстив инет нашёл решение ошибки:

Fatal error: Call to undefined method ModelCatalogCategory::getPath() in /сайт/admin/model/catalog/product_ajax.php on line 10

В этой версии функции getPath нет. Поэтому делаем так:

В файле /сайт/admin/model/catalog/product_ajax.php с 9 строчки

foreach ($query->rows as $row) {
 $categories[] = $this->model_catalog_category->getPath($row['category_id']);
 }

меняем на

$category_info = array();
 foreach ($query->rows as $row) {
 $category_info = $this->model_catalog_category->getCategory($row['category_id']);
 $categories[] = $category_info['path'];
 }

После этого модуль в админке заработал, но появилась ошибка:

Warning: Missing argument 1 for ModelCatalogCategory::getCategories(), called in /сайт/admin/controller/catalog/product_ajax.php on line 505 and defined in /сайт/admin/model/catalog/category.php on line 207

В файле /сайт/admin/contoller/catalog/product_ajax.php найти строку

$this->data['categories'] = $this->model_catalog_category->getCategories();

и заменить на

$this->data['categories'] = $this->model_catalog_category->getCategories("");

Всё остальное вроде как работает, модуль реально очень удобный.

Несколько раз не угадывал с версиями модуля  opencart-export-import и приходилось решать одни и те-же проблемы:

1)  При экспорте XLS в файле появляется текст

‘oc_product_tag’ doesn’t exist Error No: 1146 ….  —  это значит, нет таблицы с метками продуктов в базе . Заходит в PhpMyAdmin и создаём таблицу:


CREATE TABLE `oc_product_tag` (
`product_tag_id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL,
`language_id` int(11) NOT NULL,
`tag` varchar(32) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`product_tag_id`),
KEY `product_id` (`product_id`),
KEY `language_id` (`language_id`),
KEY `tag` (`tag`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

2)  Если после того как снова сделали экспорт вы увидели в файле сообщение

<b>Notice</b>: Error: Unknown column ‘cg.name’ in ‘field list'<br />Error No: 1054

— в таблице «customer_group» нету столбца «name». Устраняется таким образом: вместо customer_group напишите customer_group_description. У меня это было на строчках: 2179, 2224, 2262. Это что касается экспорта. Затем возникает проблема с импортом. Решается тоже крайне просто: на строчках 1096, 1193, 1294, (код строчки выглядит так $sql = «SELECT * FROM `».DB_PREFIX.»customer_group`»;) «customer_group» замените на customer_group_description.

Цитаты великих

"Несварение желудка - одна из худших причин болезней, особенно если оно случилось вслед за привычным недоеданием, как это бывает, например, от чрезмерного насыщения при обильном урожае после чрезмерного голодания при недороде."

Авиценна. Ибн Сина

Я в Контакте