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

Fatal error: Call to undefined method ModelCatalogProduct - сакс

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

Вообщем поставил я на свой opencart 1.5.4.1 SeoPro и deadcow seo.

После этого я столкнулся с проблемой что не могу редактировать товаров и категории, не заходит в редактор и выдает ряд ошибок ссылаясь на seo_h1 и seo_title. Их я исправил путем добавление в таблицу product_description полей seo_h1 и seo_title. 

И последняя ошибка с которой не могу справится это: Fatal error: Call to undefined method ModelCatalogProduct::getProductTags() in /home/seccomua/public_html/30sec.com.ua/admin/controller/catalog/product.php on line 775.

772-777 строки: 

if (isset($this->request->post['product_tag'])) {

$this->data['product_tag'] = $this->request->post['product_tag'];
} elseif (isset($this->request->get['product_id'])) {
$this->data['product_tag'] = $this->model_catalog_product->getProductTags($this->request->get['product_id']);
} else {
$this->data['product_tag'] = array();
 
Как быть? а то товар редактировать нужно, а не можно.

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


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

заменили оригинальные файлы судя по всему

в моделе продукта отсутствует масив скорее всего

попробуйте закоментировать

$this->data['product_tag'] = $this->model_catalog_product->getProductTags($this->request->get['product_id']);
 

так же попробуйте заменить эту строку на:

$this->data['product_description'] = $this->model_catalog_product->getProductDescriptions($this->request->get['product_id']); 

 

и посмотрите на реакцию. 

 

 

Пару дней назад была такая же проблема когда случайно заменил файлы не в той папке.

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


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

Здравствуйте, исходя из изменений в версиях, то я бы сделал примерно так (на глаз, без тестирования) :

if (isset($this->request->post['tag'])) {
$this->data['tag'] = $this->request->post['tag'];
} elseif (isset($this->request->get['product_id'])) {
$this->data['tag'] = $this->model_catalog_product->getProductDescriptions($this->request->get['product_id']);
} else {
$this->data['tag'] = '';

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


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

Спасибо за ваши быстрые ответы. В обоих случаях после применение ваших указаний выскакивает вот такая строчка :

 Notice: Error: Unknown column 'main_category' in 'where clause'

Error No: 1054
SELECT category_id FROM product_to_category WHERE product_id = '349' AND main_category = '1' LIMIT 1 in /home/seccomua/public_html/30sec.com.ua/system/database/mysql.php on line 49

 

Это непосредственно когда хочу редактировать товар.

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


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

Собственно сам запрос к родительской категории таков (1.5.3.1)

public function getProductMainCategoryId($product_id) {
	$query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND main_category = '1' LIMIT 1");

	return ($query->num_rows ? (int)$query->row['category_id'] : 0);
}

 

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

P.S. Ето уже другая ошибка и другая история... так можно до нового года постепенные проблемы возникающие решать...

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


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

Спасибо за ваши быстрые ответы. В обоих случаях после применение ваших указаний выскакивает вот такая строчка :

 Notice: Error: Unknown column 'main_category' in 'where clause'

Error No: 1054

SELECT category_id FROM product_to_category WHERE product_id = '349' AND main_category = '1' LIMIT 1 in /home/seccomua/public_html/30sec.com.ua/system/database/mysql.php on line 49

 

Это непосредственно когда хочу редактировать товар.

Выполните запрос к бд 

ALTER TABLE `product_to_category` ADD `main_category` tinyint(1) NOT NULL DEFAULT '0';

 

это Вам пригодится и для сео-про и заодно проблему решите. Естественно незабудьте подставить свой префикс бд в product_to_category

  • +1 1

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


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

Спасибо Вам большое)) особенно последний запрос к БД помог!
Все работает! :)

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


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

Ой...заметил один глюк. В категории зайти не могу 

Fatal error: Class 'Controllercatalogcategory' not found in /home/seccomua/public_html/30sec.com.ua/system/engine/front.php on line 39

Соответственно все свои категории тоже редактировать не могу.

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


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

верни оригинальные файлы и не мешай мух с котлетами, а внимательно смотри разницу в файлах дополнений, которые устанавливаешь.

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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