Приветствую разработчика и участников ветки. Сразу обозначусь, почему пишу сюда: потому, что не получилось найти нормальную ветку обсуждения опций товара (вроде есть, но всё не то), плюс - со старта, много ссылок на сторонние модули и решения, которые я не хочу использовать (дабы избежать: модуль на модуле и модулем погоняет), та и не могу, ибо уже достаточно много модифицировано в файлах. Объединять товары в серии и т.д. - не подходит (долго, дорого, немеряно правок).
Надеюсь, что либо подскажут куда правильно копать, либо - всё это фигня.
Суть проблемы:
Появилась необходимость привинтить к опции артикул (или код), кому и как будет угодно. Т.е, что бы покупатель, выбирая опцию видел код, мог его озвучить (у меня, на текущем проекте, такое происходит достаточно часто) и что бы, код передавался везде по пути заказа (вместе с ценой этой опции). В идеале - обновлялся при выборе опции вместе с ценой.
Внешний виде подобного решения вижу тут - тыц:
Как вижу примерно, реализацию подобного: (я не программист, а скорее копипастер кусков кода. посему прошу не бить)
У нас уже есть количество, цена опции и модификаторы цены (+, -, = и т.д), работает обновление цены при выборе опции.
- Добавляем в БД: таблица product_option_value, поле например: optcode_id (как обычно сходу предлагают, использовать SKU - думаю не вариант, ибо в перспективе. могут вылезти косяки, типа - а теперь нам SKU понадобился, потому что мы синхронизируемся с 1с-кой, а там, код SKU задействован);
- Делаем вывод в админке: Товар-закладка Опции-Добавить опцию- "между вычитать со склада" и "цена", делаем не обязательным и не ставим проверку на уникальность.
- Делаем вывод в карточке товара:
Блок вывода опций: опция - ('optcode_id') - цена опции (или значение опции, например "красный")
Блок вывода данных товара: поле "модель" (в моём случае оно переименовано в "Код (артикул)"), синхронно с ценой, подменяем на значение 'optcode_id'.
- Корзина и заказ: добавляем, существующему выводу опции, впереди: значение 'optcode_id'.
- Письмо админу и покупателю (аналогично корзине и заказу): добавляем, существующему выводу опции, впереди: значение 'optcode_id'.
Смотрю это всё под: OC Version 2.3.0.2 (rs.2)
Тулить предполагаю: сюда