Приветствую. Сегодня мы рассмотрим как на prestashop скрыть недоступные атрибуты, а именно цвета. То есть в ситуации, когда товар не доступен к заказу в выбранном размере и цвете, скрывать недоступные цвета.
Опишем ситуацию чуть более подробно:
- На сайте продается товар.
- У товара есть 2 атрибута (или более), которые влияют на цену или просто на состав товара (например, размер и цвет).
- Атрибуты складываются в комбинации атрибутов
- У каждой комбинации есть определенное количество на складе (есть только 2 красных майки размера М).
- Задача: сделать так, чтобы выбрав размер М пользователь не мог выбрать красный цвет
Конечно, пользователю, который выберет недоступный размер Prestashop не даст купить недосутпынй товар, но удобнее на много, если и возможности выбрать такой товар нет.
Именно этим мы сегодня и займемся, а именно: Prestashop скрыть недоступные атрибуты.
Prestashop выводит в шаблон product.tpl список всех доступных комбинаций в javascript, так, чтобы сами скрипты prestashop могли обрабатывать комбинации. Если комбинация не доступна — она тоже выводится, но параметр количество у этой комбинации = 0.
Все, что нам нужно сделать, это:
- Получить список этих комбинаций
- Обработать их, и сохранить для себя в удобном виде
- При выборе первого атрибута пользователем обрабатывать выбранные комбинации и скрывать лишние
Вот и все. Скрываются те цвета, которые нам не подходят под размер.
Этот код можно вставить в любое место шаблона, можно в конец product.tpl.
Не забудьте побернуть этот код в конструкцию: {literal}{/literal}, для того, чтобы обезопасить Smarty от ошибок.
Этот код протестирован, и работает на сайтах с версией Prestashop от 1.4 и до 1.5.6, более поздние версии не тестировались, но велика вероятность, что это все сработает и на 1.6. Как бы то нибыло, код поставляется «как есть», и может не работать на заявленных версиях движка (это зависит от шаблона, который вы используете).
Если вы занимаетесь разработкой или продвижением сайтов — Human Emulator то, что вам нужно для облегчения автоматизации сбора информации и тестирования сайта. Программа позолит сэкономить время, которое вы или ваши сотрудники тратите на рутинную работу.