Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как избавится от переменной GET ?route=product/category?


y.vladimir

Recommended Posts

Добрый день.Разрабатываю интернет магазин на движке opencart.В данный момент существует задача: подсвечивание категории в которой находится конкретный товар.Например, пользователь просматривает товар:Подарки|-Особенные| |- VIP| | | -> Авторучка с позолотой и GPS приемником.Нужно подсветить самую верхнюю родительскую категорию "Подарки".Категорию подарки нужно подсвечивать в случае если пользователь находится в любой из категорий, которая находится в категории подарки.Я решил задачу обрабатывая GET переменную ?route=product/category, таким образом получая полный путь, и возможность его обработать.НО! Решил использовать SEO url (ЧПУ).Соответственно адрес конкретного товара или категории перестал содержать обрабатываемую переменную "route", и подсветка меню пропала.Подскажите пожалуйста.С помощью какой функции можно в коде получить полный путь от корня по просматриваемого элемента?

Надіслати
Поділитися на інших сайтах


эх как все сложно вы решили сделать)

заходим в ..catalogcontrollermodulecategory.php

ищем

if ($this->category_id == $result['category_id']) {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">[b]' . $result['name'] . '[/b]</a>';				} else {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">' . $result['name'] . '</a>';				}

меняем на

if ($result['parent_id'] == 0 && $category_id == $result['category_id']) {				$output .= '[b]' . $result['name'] . '[/b]';			} else {				if ($this->category_id == $result['category_id']) {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">[b]' . $result['name'] . '[/b]</a>';				} else {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">' . $result['name'] . '</a>';				}			}

наслаждаемся =)

п.с. Если еще и

$result['parent_id'] == 0 &&
убрать из первого условия, то подсветятся все родительские категории, ну это так сказать "Наслаждаемся по вкусу")
Надіслати
Поділитися на інших сайтах


Отличный вариант, но у меня дело немного в другом.У меня есть два блока.1. Category - отображает только меню первого уровня (parent_id = 0).2. sub_category - копия модуля category, отображает меню второго-третьего уровня, в зависимости от тогоПример:Category: [Подарки] СюрпризыSub category:|Особенные|-- [VIP]|ДругиеВ данные момент мы находимся на категории VIP, которая нах. на третьем уровне вложенности.Проблем с тем, чтобы определить родительскую категорию в блоке Category: (подарки) - НЕТ.Есть проблема с определением родительской категории в блоке Sub category, в том случае, если мы находимся в категории VIP на 3-м уровне.Тогда VIP имеет parent_id равный ID особенные.А как узнать ID САМОГО ВЕРХНЕГО ЭЛЕМЕНТА, "подарки"?

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.