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

Как узнать в какой категории пользователь


protera

Recommended Posts

Ребят подскажите, как определить в какой категории сейчас пользователь или в какой переменной храниться это? Смысл в том, чтобы при нажатии на тег искало не только по тегам, но и в той категории из которой клик произошёл. Спасибо

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


Узнать в какой категории не сложно...Категория передается GET параметров, в контроллере это получается переменная path...Она формируется в зависимости от того в какой категории ты находишся...

Если ты в родительской категории, то path = category-id, а если в дочерней, то между айдишниками категорий добавляется "_"

Пример: path=1_12

Это обозначает что ты сейчас находишся в категории какая является под катеогорией в категории....Тоесть есть основная категори "1"(назовем ее ГЛАВНАЯ), а у нее есть подкатегория "12"(ПОДКАТЕГОРИЯ 1)...Тоесть сейчас пользователь находится на старнице ПОДКАТЕГОРИЯ 1...

$category_id = array_shift($this->request->get['path']);
Так можно посмотреть в какой категории сейчас пользователь...Получаем ее ID, а дальше делаем что нужно...
Надіслати
Поділитися на інших сайтах


Докрутил до ума модуль - Облако тэгов Tag-Cloud-1.5.x.

Проверено на 1.5.1.3

Что делает?

Выводит облако тегов сбоку/над/под списком товаров, используя поиск Opencart.

Изначально просто вызывал поиск с ключевым словом (тегом) без учёта категории.

Что сделано:

Поправлен перевод для ALT: NUM шт. с пометкой - "TAG"

При переходе учитывает категорию в которой находится пользователь как корневую так и подкатегорию (до второго уровня).

Не работает с 3им уровнем вида корневая категория/подкатегория-1/подкатегория-2(но легко исправить).

Демо не даю, пока в разработке.

Tag-Cloud-1.5.x.zip

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


$category_id = array_shift($this->request->get['path']);
Описание правильное, а код - нет...

И ещё желательно проверять наличие path

if (!empty($this->request->get['path'])) {
	$parts = explode('_', $this->request->get['path']);
	$category_id = end($parts);
}
Надіслати
Поділитися на інших сайтах

Да, провтыкал немного, когда такое делал у меня всего два уровня было категорий...Не подумал что у кого-то может быть 3 и более...

По барабану уровень вложенности.... функция array_shift предполагает в качестве аргумента - массив.

Что бы предложенный код заработал - path должен быть массивом с идентификаторами категорий в обратном порядке...

Примерно такая строка нужна перед твоей

$this->request->get['path'] = array_reverse(explode('_', $this->request->get['path']));
Но так делать нельзя....
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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