Дополнительные поля заказа — различия между версиями

Материал из Insales Wiki
Перейти к: навигация, поиск
(Работа с дополнительными полями в бек-офисе)
(Настройка дополнительных полей)
Строка 36: Строка 36:
 
   </table>
 
   </table>
 
</pre>
 
</pre>
 +
 +
Если будут поля с файлами, то надо не забыть добавить enctype="multipart/form-data" в form.
  
 
После этого в конец файла стилей style.css добавляем:
 
После этого в конец файла стилей style.css добавляем:

Версия 14:01, 8 апреля 2010

Как это работает?

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

Чем это отличается от комментария к заказу?

От поля комментария к заказу дополнительные поля отличаются следующим:

  1. Дополнительные поля вводятся в корзине; поле комментария - на втором шаге оформления заказа
  2. Дополнительных полей может быть несколько; поле комментария - одно
  3. У каждого из дополнительных полей есть название, указывающее что туда надо вводить
  4. Дополнительные поля могут быть обязательными для заполнения
  5. В дополнительных полях можно запрашивать файлы

Настройка дополнительных полей

Для начала надо в разделе Заказы -> Дополнительные поля описать какую информацию надо получить от покупателя.

Далее надо настроить поддержку дополнительных полей в шаблоне. Для этого надо в разделе Витрины -> Дизайн зайти в редактирование шаблона корзины и добавить внутрь формы код:

  <table>
  {% for parameter in cart.parameters %}
    <tr>
      <td style="padding: 3px;">{{ parameter.title }}</td>
      <td style="padding: 3px;">
        {% if parameter.file? and parameter.value %}
          <a href="{{ parameter.url }}" target="_blank">{{ parameter.file_name }}</a>
        {% endif %}
        {{ parameter.input }}
      </td>
    </tr>
  {% endfor %}
  </table>

Если будут поля с файлами, то надо не забыть добавить enctype="multipart/form-data" в form.

После этого в конец файла стилей style.css добавляем:

input.text textarea. {width:100% !important;text-align: left !important;}
.error input, .error textarea { border: 2px groove red !important; margin: 2px; }
.error {display: inline;}

Теперь в корзине интернет-магазина появились настроенные ранее поля. Если покупатель нажимает кнопку оформить заказ не заполнив обязательные дополнительные поля, он остается в корзине. При этом не указанные дополнительные поля обводятся красной рамкой.

Работа с дополнительными полями в бэк-офисе

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