@elodyanov

Как победить ошибку Notice: Undefined variable: category_id в Opencart + Mega Filter PRO/PLUS?

Мое почтение, товарищи программисты!
В php почти полный ноль, нужна помощь решить маленькую задачку.
Opencart 2.3.0.2, версия php на сайте 7.2.24.
В файле \catalog\controller\product\product.php есть участок кода, который определяет вывод шаблона:
$this->response->setOutput($this->load->view('product/product', $data));

Мне нужно вывести второй шаблон у товаров, но с условием, только у категорий с id более 1077.
Методом "тыка" нашел как вывести:
if ($category_id > 1077 ) {		
$this->response->setOutput($this->load->view('product/product_2', $data));
} else 
$this->response->setOutput($this->load->view('product/product', $data));

Сработало, но у товаров, которые выводятся через модуль Mega Filter PRO/PLUS, вылазит ошибка Notice: Undefined variable: category_id in /var/www/www-root/data/www/.../system/storage/modification/catalog/controller/product/product.php on line 491
Ругается на строку if ($category_id > 1077 ) {
Возможно урл подсказывает куда копать, что проблема где-то в массиве категорий, но я в этом почти ноль:
Так выглядит урл обычного товара: /index.php?route=product/product&path=59&product_id=19603
Так выглядит урл товара в фильтре Mega Filter PRO/PLUS: /index.php?route=product/product&product_id=615
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@Asokr
По всей видимости, $category_id на странице продукта берется из get path, вам нужно получить $category_id не из get параметра, а из базы данных...
В моделе продукта есть функция getCategories, при помощи которой, можно получить все категории продукта...

$this->model_catalog_product->getCategories($product_id);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы