Как определить категорию и подкатегорию продукта в карточке товара OpenCart 2.1.0.2
Есть проблемная задача OpenCart 2.1.0.2.
Нужно добиться следующего результата: Важно, чтобы URL продукта был такой (используется Seo url) -> имя_домена.com/2234566, при этом хлебные крошки должны выглядеть так (полный путь к товару): Главная > Категория 1 > Категория 2 > Категория 3 > Название товара.
Проблема: Как я понимаю, хлебные крошки формируются из url, и в данном url нет необходимых параметров для определения всех категорий.
Извращаясь над данной задачей, я добился этого результата так: находясь на странице категории, сохраняю крошки в куку, а в карточке продукта их отображаю. Проблема в том, что если я перейду на товар по ссылке НЕ из категории (например из поисковика или мессенджера), или открою в браузере несколько товаров, тогда либо вообще не увижу крошек, либо они будут для всех страниц одинаковые.
Вопрос Как еще, более правильно и надежно, можно определить категорию товара находясь на странице продукта?
Ответы (1 шт):
Проверьте в контроллере продукта функция
$this->request->get['path']должна отдавать вам строку из всех категорий в порядке вложенности, соответственно разбиваете по разделителю и через функцию$this->model_catalog_category->getCategory($cat_id)строите крошки.В модели продукта есть функция
$this->model_catalog_product->getCategories($product_id), она вам тоже отдаст все категории связанные с продуктом, для получения:$product_id = $this->request->get['product_id'];