Опции.

Значения Опции.

Опции - это возможность покупателя выбрать на сайте нужную ему модификацию товара. Например, нужный размер и/или цвет:

В данном случае, в товаре есть опция "Размер", которая имеет несколько значений для выбора.

В отличие от атрибутов, значения опций имеют цену и остаток, и записываются в товар не текстом, а своим номером - option_id. Поэтому:

  • изменение значения опции в админ пенеле OpenCart (например, "Красный" на "красный") изменит это значение одновременно во всех товарах:

  • невозможно в товаре вписать новое значение, не создав его предварительно, в меню "Опции" админ панели:

Плагин может создать значение опции автоматически перед тем, как поместит это значение в товар.

Термин "Создать", используемый в плагине, относительно опций означает создание значения опции, а не самой опции "Размер" или "Цвет":

Опции нужно создавать руками в админ панеле.

Цены Опции.

Каждое значение опции имеет цену, относительно цены товара, т.е. плюс или минус к цене товара. Например, если цена товара равна 100, а цена значения "Красный" равна +10,

то при покупке "Красного", в корзину попадет цена 110

OpenCart не понимает цены опции =100. При покупке, он все равно прибавит ее к цене товара и в корзину попадет цена 200.

Существуют дополнения к OpenCart, которые разрешают использование абсолютных цен в опциях.

Плагин позволяет загружать цены в опции, как абсолютные (=110), так и относительные (+10). Это регулируется в разделе "Общие кнопки" главной страницы формы поставщика:

Внимание.

Сначала, плагин загружает цены в опции, как "равно" (=110), но когда все опции товара будут загружены, плагин пересчитывает цены, как "плюс" к цене товара.

Если цена товара равна цене опции, то цена опции станет +0

Такое бывает в случае, когда номер колонки с ценами товаров в прайс листе совпадает с номером колонки с ценами опций. Т.е. когда цена товара равна цене опции.

Этот случай, также, интересен тем, что цена на товар может быть установлена плагином, как минимальная среди цен на опции. Тогда все относительные цены опций будут с префиксом "+".

Если цены опций и товара находятся в разных колонках, то цена на товар будет установлена в соответствии с последней ценой товара в соответствующей колонке.

Однако, это правило можно изменить:

Количества Опции (остатки).

Суммарное количество всех значений опций товара равно остатку товара. Какое бы количество товара не было загружено из прайс листа, оно будет изменено плагином после загрузки опций.

Если загрузка или обновление опций проводилось с включенной кнопкой "Вычитать со склада":

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

Связанные опции.

Точнее, связанные значения разных опций.

Например, если на складе некий товар имеется только красного цвета, размера XS в количестве 4шт. по цене 100, то можно говорить, что значение "красный" связано со значением "XS".

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

Для работы со связанными опциями требуется одноименный плагин. "Связанные опции".

Опции в разных строках

Один из вариантов представления опций в прайс листе, который встречается чаще всего, это когда товар повторяется в строках прайс листа с разными значениями опций:

о чем свидетельствует повторение артикулов в колонке "sku" (№1).

Здесь представлено 4 товара, каждый из которых имеет один или несколько значений опции "Цвет" (колонка 3). Каждое значение опции имеет цену и остаток (колонки 5 и 6).

Цена и остаток товара не показаны в отдельных колонках прайс листа, следовательно, цена товара будет определяться по колонке 5, как минимальная среди цен опции, а остаток - как сумма остатков опции из колонки 6.

Алгоритм загрузки опций.

Товар, во второй строке, с артикулом mantis_1900245 может быть создан в магазине, если этот артикул встретился впервые, и режим добавления разрешен ("Добавлять и обновлять"). Следовательно, в этой строке должна быть информация о названии товара, цене, фото и младшей категории. Товар будет создан с одним значением опции "Цвет" -  White.

Строки 3, 4 и 5 являются продолжением товара mantis_1900245, который уже был создан в строке 2, значит, товар будет трижды обновлен. Во время обновления, в товар будут добавлены значения опции "Цвет": Orchid и Platinum.

Строки 3, 4 и 5 могут не содержать название товара, категорию и фото.

В строке 6 изменился артикул. Плагин понимает это, как конец загрузки опций товара mantis_190024. В этот момент он:

  • находит минимальную цену среди опций и ставит ее как цену товара: 10
  • вычисляет относительные цены значений опций, как плюс к цене товара: +0, +0.50, +0.85, +0.60
  • суммирует остатки всех значений и ставит эту сумму в остаток товара: 12

Настройки.

1. Артикул.

Артикул находится в колонке №1 и определяет товар. Если бы артикулы определяли опции, то артикулы в колонке 1 были бы все разные (см. "Опции с артикулами").

2. Цена и остаток товара.

Цена и остаток товара будут пересчитаны по опциям. Например, цена последнего товара (артикул mantis_1900263) станет равной 11, а остаток - 9 шт.

Для того, чтобы цены опций загрузились и стали относительными, как плюс к цене товара, следует включить кнопку:

и дать разрешение на загрузку опций (см. "Общие кнопки").

3. Вкладка "Опции".

Поле "Артикулы через точку с запятой. Номер колонки" заполнять не нужно. Это поле используется только в случае, если каждая опция имеет отдельный артикул.

Поле "Количество. Номер колонки". Допускается перечисление нескольких номеров колонок через запятую. В этом случае, остаток будет равен сумме содержимого этих колонок.

Если поле "Количество" оставить пустым, то остатки всех значений опций будут установлены по-умолчанию 9.

Меню "Префикс" следует устанавливать, если цены опций в прайс листе являются относительными. Например, "плюс к цене", и этот факт не обозначен знаком "+":

Отсутствие префикса цены в прайс листе подразумевает префикс "=".

Префикс.

  1. Префикс цены устанавливается в соответствии с указаниями в прайс листе.
  2. Цены в прайс листе следует трактовать, как плюс к цене товара.
  3. Цены в прайс листе являются наценкой к цене товара в %%
  4. Цены в прайс листе являются скидкой к цене товара в %%
  5. Числа в прайс листе являются множителем к цене товара

Кнопка "Обнулять отсутствующие значения опций"

Остатки значения опций товара, которые отсутствуют в прайс листе будут обнулены:

Рекомендуется включать эту кнопку только в случае, когда товар представлен в прайс листе смежными строками, как в примерах выше. Иначе, например в такой ситуации:

опция, которая будет загружена или обновлена в товаре mantis_1900245 в строке 7 (см. желтые строки) обнулит все предыдущие опции:


Опции в одной строке

Один из вариантов представления опций в прайс листе, когда товар занимает одну строку. Именно в таком виде плагин экспортирует товары с опциями:

Здесь представлено 5 товаров с артикулами в колонке 1 и опцией "Цвет" в колонке 6. Цены и остатки товаров находятся в колонках 3 и 4, а цены и остатки значений опции - в отдельных колонках 5 и 7.

Значения опций разделены символом "точка с запятой". Этим же символом разделены цены и остатки в колонках 5 и 7.

Разделитель значений опций, цен и остатков должен быть один и тот же.

В качестве разделителя могут использоваться символы:  

 ; | : /

Если в прайс листе используется другой разделитель, то его можно добавить в программе модуля в файле admin/model/catalog/suppler.php. В двух местах, после строк:  $ss = '/';

(снимите комментарий /*  */  и замените символ "запятая" на другой).

Настройка формы поставщика.

Колонки 5 и 7 (см. рисунок выше) не могут являться ценой и остатком товара, т.к. их содержимое не является числом. В то же время, в форме поставщика необходимо заполнить поля "Цена товара" и "Количество товара".

К счастью, в данном прайс листе такие колонки имеются - это колонки 3 и 4:

Результат такой настройки, на примере первого товара:

  • цена товара: 9
  • цены значение опций: черный +1, рыжий +2, белый +3
  • остаток товара: 10+12+14 = 36

Если бы этих колонок не было, пришлось бы прописывать в форме поставщика произвольные номера, остаток задавать по-умолчанию, а для цены использовать кнопку "Установить цену по минимальной опции":

Результат такой настройки, на примере первого товара:

  • цена товара: 10
  • цены значение опций: черный +0, рыжий +1, белый +2
  • остаток товара: 10+12+14 = 36

Остаток был задан по-умолчанию 9, поскольку при остатке 0, цена товара не обновляется. Но это не помешает плагину вычислить правильный остаток товара, как сумму остатков опций.

Товары из строк 4, 5 и 6 будут обновлены или загружены, только в том случае, если в прайс листе есть цена товара, поскольку цены опций являются плюсом к этой цене.

На вкладке "Опции" настройки такие:

"Общие кнопки":


Опции с артикулами

OpenCart предполагает, что товары с разными артикулами - это разные товары.

Плагин ищет товар по артикулу (поле SKU) и если находит, то может его обновить, включая опции, атрибуты, фото, описание, цену... все, что вы разрешили обновить.

Артикул определяет товар.

Если в прайс листе есть несколько строк с одинаковыми артикулами, то плагин будет обновлять товар столько раз, сколько будет повторяться артикул. Например, прайс лист на 2 товара:

Если в строках товара указаны опции (колонка "color"), то плагин будет последовательно добавлять эти опции в товар, если вы разрешили это в "Общих кнопках":

И включили режим обновления товаров.

Как только артикул в прайс листе изменится (см. строку 6), плагин "поймет", что начался новый товар и пришло время подбить итоги по предыдущему.

Артикул определяет опцию.

Пример прайс листа, где артикул связан со значением опции, а не с товаром:

В такой ситуации, плагин не может отделить один товар от другого и обработает все строки, как 6 разных товаров с артикулами из колонки 1.

Т.е. в режиме добавления, в магазин будет добавлено не 2 товара с опциями, а 6 разных товаров.

Настройка формы поставщика.

Для обработки таких прайс листов, в плагине используются специальные настройки:

1. Артикул.

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

В режиме добавления, плагин установит артикул товара по его первой опции (sku1 и sku5)


2. Группировка нескольких строк прайс листа в один товар с опциями.

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

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

В колонке 7 установлена единица в тех строках, которые являются продолжением товара из предыдущей строки. В строке, где товар начинается, признак повторения не устанавливается:

"Признаком продолжения товара" может быть любой символ, даже пробел.

Плагин хранит артикулы опций в товаре, в поле "Артикул" вкладки "Опции":

Поле "Артикул" не является штатным полем OpenCart, оно добавляется в момент установки плагина на сайт (в БД: таблица product_option_value  поле optsku).

Добавление товаров с артикулами в опциях.

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

Это делается только 1 раз, при добавлении новых товаров с артикулами в опциях.

2. Включить кнопку "Артикул определяет опцию".

3. Настроить вкладку "Опции" .

4. Включить Действие "Добавлять и обновлять".

5. Сохранить форму поставщика и отправить прайс лист в обработку.

Обновление товаров с артикулами в опциях.

Как обычно, для обновления цен и остатков достаточно прайс листа с тремя колонками:

  • Артикул (sku)
  • Цена
  • Остаток

1. Поле "Признак продолжения товара" можно оставить пустым.

2. Включить кнопку "Артикул определяет опцию".

3. Настроить вкладку "Опции" .

4. Включить Действие "Только обновлять".

5. Сохранить форму поставщика и отправить прайс лист в обработку.

Настройка обновления опций с артикулами имеет одну важную особенность: нужно запретить плагину создавать значения опций в товарах. Для этого на главной странице формы поставщика в "Общие кнопки", следует включить:

а во вкладке "Опции" сослаться на пустую колонку прайс листа в поле "Значение":

Плагин не создаст в товаре пустое значение опции.


Опции. Экспорт-импорт

Используется в основном для переноса товаров с сайта на сайт.

Экспорт.

Плагин экспортирует товары в табличный прайс лист, файл admin/uploads/ex.xml по принципу: "один товар - одна строка".

Процесс импорта товаров с опциями из такого прайс листа подробно описан здесь.

Однако, для импорта товаров с артикулами в опциях из файла, созданного плагином, есть небольшие отличия. Это связано с тем, что плагин экспортирует артикулы опций в одну ячейку с разделителем "точка с запятой":

В колонке 3 представлены артикулы значений M, S и L  опции "Размер", а в колонке 1 - артикул товара.

Импорт.

1. Артикул товара на главной странице формы поставщика:

обратите внимание, кнопка "Артикул определяет" включена в положение "Товар".


2. Необходимо разрешить загрузку опций в "Общих кнопках":


3. Вкладка "Опции":

единственный случай, когда используется поле "Артикулы через точку с запятой".


Опции. Фото

Каждое значение опции может иметь одно или несколько фото. Фото могут быть загружены только по ссылке из прайс листа.

Фото для опций невозможно спарсить со стороннего сайта.

Все фото для каждого значения опции должны располагаться в одной ячейке прайс листа и разделятся символами "точка с запятой" и/или "запятая":

Колонка 5 содержит ссылки на фото для различных значений опции "Цвет". Некоторые значения имеют два фото, а некоторые - одно. В строке 11 указаны имена фото, находящихся в папке image/catalog/temp

В настройках формы поставщика достаточно прописать номер колонки с фото во вкладке "Опции":

Представленный на первом рисунке фрагмент прайс листа, демонстрирует разницу в работе с фото стандартного OpenCart и стороннего плагина.

Стандарт OpenCart.

Значение цвета White имеется и в первом товаре и в четвертом. По стандарту OpenCart, в первый товар в значение White будет загружено фото из четвертого товара. Оно же будет и в четвертом.

Потому, что в OpenCart фото привяжется с слову White независимо от товара.

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

Для загрузки фото по стандарту OpenCart используйте меню:

В разделе "Общие кнопки" на главной странице формы поставщика.

Загрузка фото в опции сторонними плагинами.

Здесь, фото привязываются не только к названию значения опции, но и к товару. Поэтому, в разных товарах могут быть разные фото у одного и того же значения White.

А плагин "Изображения опций PRO" вообще, позволяет загружать несколько фото в одно значение опции (в прайс листе разделяются запятыми, см. первый рисунок).

Обычно, сторонние плагины загружают фото в таблицу product_option_value в какое-то собственное поле. Если узнать название этого поля (обычно: "image") и вписать его в файле admin/model/catalog/suppler.php в это место:

после строки:  if ($upOptionFoto == 4) {  то появится возможность загружать фото в опции с помощью пункта меню:

Опции в строку.

В случае, если опции в прайс листе представлены в одной строке с разделителями, то фото также должны располагаться в одной строке. Пример, когда значение опции имеет только одно фото:

Фото разных значений опции должны разделяться символом "точка с запятой", не зависимо от того, каким символом разделяются значения опций, цены и остатки.

В случае, если каждое значение опции имеет несколько фото, эти фото должны разделяться запятой. На рисунке ниже приведена общая схема:

Именно в таком виде плагин экспортирует опции товаров.


usergio Copyright © 2023