/commerce-options

Product options for Evolution CMS Commerce

Primary LanguagePHP

Options for Evolution CMS Commerce

Вывод опций

Вызов сниппета просто поместить в форму добавления товара. Для изменения цены элементу с ценой добавить атрибут data-commerce-price с значением оригинальной цены.

<form action="#" data-commerce-action="add">
    ...
    <div data-commerce-price="[*price*]">[[PriceFormat? &price=`[*price*]`]]</div>
    [[CommerceOptions]]
    ...
</form>

Параметры сниппета

ПараметрЗначение по умолчаниюОписание
docid[*id*]Товар, которому принадлежат опции
detach0Может принимать значение 0, 1, или список tv-параметров через запятую.
Указанные tv-параметры (или все, если 1) будут помещены в плейсхолдеры с префиксом detachPrefix с возможностью вывода в произвольном месте страницы.
detachPrefixtvco.Префикс плейсхолдеров для блоков опций
hideInactive0Может принимать значение 0, 1, или список tv-параметров через запятую.
Указанные tv-параметры будут скрываться, если они недоступны для выбора
autoCheckSameOptions0Может принимать значение 0, 1, или список tv-параметров через запятую.
В случае если в указанных tv-параметрах отключается выбранная опция, и есть та же доступная опция с другой ценой, она будет выбрана
uncheckDisabled1Может принимать значение 0, 1, или список tv-параметров через запятую.
Для отключенных опций в указанных tv-параметрах выбор будет снят
avoidUnchecked1Может принимать значение 0, 1, или список tv-параметров через запятую.
Для указанных tv-параметров не допускать отсутствие отмеченных опций
requiredClasserror-requiredКласс, который добавляется к блоку обязательного tv-параметра в случае отсутствия в ней отмеченной опции
api00 или 1. Если 1, сниппет просто вернет массив данных
registerScripts10 или 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>