Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

Вообщем поставил я на свой 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();
 
Как быть? а то товар редактировать нужно, а не можно.
Link to post
Share on other sites

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

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

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

$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']); 

 

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

 

 

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

Link to post
Share on other sites

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

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'] = '';
Link to post
Share on other sites

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

 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

 

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

Link to post
Share on other sites

Собственно сам запрос к родительской категории таков (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. Ето уже другая ошибка и другая история... так можно до нового года постепенные проблемы возникающие решать...

Link to post
Share on other sites

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

 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
Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.