Как я могу установить цену для пользовательского текста? - PullRequest
1 голос
/ 27 мая 2019

Есть ли способ добавить цену, если клиент добавляет в продукт пользовательский текст (тот, который находится в разделе «Параметры» при добавлении продукта)?или я должен добавить его по комбинациям продуктов (добавляя много комбинаций)?

С помощью входного радио я не могу контролировать то, что будет делать пользователь, и не могу установить его как «необходимый», потому что ондолжен быть свободным выбором.

 {block name='product_customization_form'}
    <form method="post" action="{$product.url}" enctype="multipart/form-data">
      <ul class="clearfix">
        {foreach from=$customizations.fields item="field"}
          <li class="product-customization-item">
            <label> {$field.label}</label>
            {if $field.type == 'text'}
              <textarea placeholder="{l s='Your message here' d='Shop.Forms.Help'}" class="product-message" maxlength="250" {if $field.required} required {/if} name="{$field.input_name}"></textarea>
              <small class="float-xs-right">{l s='250 char. max' d='Shop.Forms.Help'}</small>
              {if $field.text !== ''}
                  <h6 class="customization-message">{l s='Your customization:' d='Shop.Theme.Catalog'}
                      <label>{$field.text}</label>
                  </h6>
              {/if}



          </li>
        {/foreach}
      </ul>
      <div class="clearfix">
        <button class="btn btn-primary float-xs-right" type="submit" name="submitCustomizedData">{l s='Save Customization' d='Shop.Theme.Actions'}</button>
      </div>
    </form>
  {/block}

1 Ответ

1 голос
/ 27 мая 2019

Лучший способ добиться этого - использовать две комбинации продуктов:

  • С пользовательским текстом (+ $ 0)
  • Без пользовательского текста (+ $ 1,00)

Затем, добавьте некоторый пользовательский код Javascript на страницу вашего продукта (правильный путь будет через модуль), который будет делать следующее:

  1. Проверьте, присутствует ли элемент textarea настройки настраница
  2. Проверьте, пусто оно или нет
  3. Если нет, принудительно введите идентификатор комбинации в правильный идентификатор (версия «с настройкой»)

Этоit.

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

Надеюсь, это поможет!

...