Рубрика «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.

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

"Ложь перед другими только запутывает дело и отдаляет решение; но ложь перед самим собою, выставляемая за правду, губит всю жизнь человека."

Л. Н. Толстой

Я в Контакте