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

отображение блока при условии


Recommended Posts

Здравствуйте.

Помогите, пожалуйста, с задачей. Нужно отображать определенный блок только в карточках товаров, относящихся к определенной категории. Например, есть категории "моторные масла", "трансмиссионные масла" и "автохимия". Нужно, чтобы данный блок отображался только в карточках моторных масел.

Спасибо.

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


))) хорошие ответы на авось ))) Не зная версии давать ответы еще и приблизительно указывая строчку ))

 

lof

укажите версию движка и желательно сайт, дабы знать как устроен урль до товара.

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

opencart 1.5.2.1

http://maslenkaspb.ru/

блок "запись в автосервис" должен отображаться только в категории в карточках товаров, которые находятся в категории "Моторное масло" (в нем 3 подкатегории, ну и дальше там ветвление)

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


перед 

$this->load->model('catalog/manufacturer');	

добавить это

$cat = explode('_', (string)$this->request->get['path']);
$this->data['cat_id'] = $cat[0];

а далее в шаблоне как написали выше..

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

работает, но проявилась ошибка: если переходишь в карточку товара по иерархическому пути, т.е. жмешь моторное масло -> оригинальное масло -> производитель -> марка масла (карточка товара), то все ок, но если перейти в карточку товара минуя подкатегории, а сразу нажать на товар в блоке "хиты продаж", то выдает ошибку: Notice: Undefined index: path in /home/m/maslenkaru/public_html/vqmod/vqcache/vq2-catalog_controller_product_product.php on line 45 

и не выводит нужный блок

в блоке "хиты продаж" нет категории с айди

 

upd. на сколько мне подсказывает логика, надо запилить новую категорию, дать ей свой айди и запихнуть в "хиты продаж" вместо того, что сейчас там, и в условии дописать что-то типа:

if (($cat_id == xx) || ($cat_id == yy))

но пока не понимаю, как это сделать

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


нет. При переходе с главной, мы не знаем к какой категории принадлежит товар. На скорую руку (чтобы не было ошибки) можно только проверять существование переменной if (isset($cat_id))

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

Или ставить сеопро... тогда откуда не заходи.. будет ссылка с категориями

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

нет. При переходе с главной, мы не знаем к какой категории принадлежит товар. На скорую руку (чтобы не было ошибки) можно только проверять существование переменной if (isset($cat_id))

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

Или ставить сеопро... тогда откуда не заходи.. будет ссылка с категориями

я php знаю на базовом уровне, сам вряд ли осилю

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


Не мучайтесь - вот решение без правки файлов и всего такого

SEO CMS 5 PRO

Там есть связь с категориями

 

http://opencartadmin.com/occms-5-kak-dobavit-v-kartochku-produkta-obzor-tab.html

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

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

правильно я понимаю, это: 

$cat = explode('_', (string)$this->request->get['path']);
$this->data['cat_id'] = $cat[0]; 

заменить на это:

 

 

в контроллере замените на это

if (isset($this->request->get['path'])) {
$cat = explode('_', (string)$this->request->get['path']);
$this->data['cat_id'] = $cat[0];
} else {
$this->data['cat_id'] = false;
}

 

?

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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