Вызов сниппета просто поместить в форму добавления товара. Для изменения цены элементу с ценой добавить атрибут data-commerce-price
с значением оригинальной цены.
<form action="#" data-commerce-action="add">
...
<div data-commerce-price="[*price*]">[[PriceFormat? &price=`[*price*]`]]</div>
[[CommerceOptions]]
...
</form>
Параметр | Значение по умолчанию | Описание |
---|---|---|
docid | [*id*] | Товар, которому принадлежат опции |
detach | 0 | Может принимать значение 0, 1, или список tv-параметров через запятую. Указанные tv-параметры (или все, если 1) будут помещены в плейсхолдеры с префиксом detachPrefix с возможностью вывода в произвольном месте страницы. |
detachPrefix | tvco. | Префикс плейсхолдеров для блоков опций |
hideInactive | 0 | Может принимать значение 0, 1, или список tv-параметров через запятую. Указанные tv-параметры будут скрываться, если они недоступны для выбора |
autoCheckSameOptions | 0 | Может принимать значение 0, 1, или список tv-параметров через запятую. В случае если в указанных tv-параметрах отключается выбранная опция, и есть та же доступная опция с другой ценой, она будет выбрана |
uncheckDisabled | 1 | Может принимать значение 0, 1, или список tv-параметров через запятую. Для отключенных опций в указанных tv-параметрах выбор будет снят |
avoidUnchecked | 1 | Может принимать значение 0, 1, или список tv-параметров через запятую. Для указанных tv-параметров не допускать отсутствие отмеченных опций |
requiredClass | error-required | Класс, который добавляется к блоку обязательного tv-параметра в случае отсутствия в ней отмеченной опции |
api | 0 | 0 или 1. Если 1, сниппет просто вернет массив данных |
registerScripts | 1 | 0 или 1. Если 1, на страницу будет добавлен управляющий javascript |
Также в параметрах можно указать шаблоны вывода опций по правилам шаблонизатора DLTemplate.
containerTpl
- Шаблон контейнера опций.
<div class="tvco" data-tvco-container="[+hash+]" data-product="[+product_id+]">
[+wrap+]
</div>
Следующие шаблоны можно указывать для каждого tv-параметра отдельно. Например colorTvTpl
или colorRadioTpl
.
modifierTpl
- Шаблон краткой модификации цены.
([+value.sign+][+value.amount+])
tvTpl
- Шаблон блока опций для одного tv-параметра.
<div class="tvco-var tvco-[+tv.output_type+]" data-tvco-block="[+hash+]" data-id="[+tv.id+]">
<div class="tvco-title">[+tv.caption+]</div>
<ul>
[+wrap+]
</ul>
</div>
radioTpl
-
<li data-tvco-row[+hidden_style+]>
<label>
<input type="radio" name="[+tv.controlname+]" value="[+value.id+]" data-value="[+value.value_id+]"[+selected_attr+]>
[+value.title+][+modifier+]
</label>
checkboxTpl
-
<li data-tvco-row[+hidden_style+]>
<label>
<input type="checkbox" name="[+tv.controlname+][]" value="[+value.id+]" data-value="[+value.value_id+]"[+selected_attr+]>
[+value.title+][+modifier+]
</label>