Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

max_rip

  • *
  • 11
  • +1/-0
    • Просмотр профиля
Имеем форму заказа в один шаг, опция способ оплаты отключена, за не надобностью всего того функционала которая она тянет за собой.
Что хочется, добавить в сам заказ два поля это комментарий и выпадающий список с типом оплаты, для меня это просто несколько вариантов, наложенный платеж, приват 24, пластиковая карта (после подтверждения заказа отправляем ссылку для оплаты)
Сами поля и их параметры добавил в шаблоны данных, осталось дело за малым вывести это в самой форме. С комментарием проблем нет ;).
А вот список доступных методов оплаты, хочу вывести через data/getEditForm
Но не могу понять как это сделать ), ну и собственно + было бы если не все заполнили правильно, когда их вернет назад, то чтобы выбранные перед этим значения были подставлены назад.
Или как мне это сделать лучше?

*

apaxuc

Что бы сделать так как вы хотите надо в тип данных Заказ добавить "список доступных методов оплаты" выводим через data/getEditForm, не уверен будет ли сохранятся, ну допустим будет, тогда по событию редактирование объекта заказа меняем его статус.

Но правильнее всего будет делать это через способы оплаты добавив новые платежные системы наложенный платеж, приват 24, вот документация http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/integraciya_platzhnyh_sistem/

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
у вас есть какая-то функция которая обрабатывает заказ в один шаг, достаточно в неё добавить сохранения поля "оплата" и поля "комментарий"

1. создаем в типе данных "Заказ" (пусть он будет с id = 101), поля :
     - выпадающий список "способ оплаты" (name = 'pay_type')
     - поле типа "простой текст" "комментарий к заказу" (name = 'order_comment') / Поле для комментария уже есть в типе данных "заказ" так что проверьте изначально.
2. выводите эти поля на странице оформления  (не знаю какой у вас шаблонизатор, пусть будет xslt) @id - это id заказа, в зависимости от того где и как вы вызываете макрос приведенный ниже, id заказа может быть в другой переменной, например order_id
<xsl:apply-templates select="document(concat('udata://data/getEditForm/',@id))//field[@name='pay_type' or @name='order_comment']" />
3. в зависимости от того, какая функция сохраняет ваш заказ, либо система сама подхватит эти значения, либо их надо до сохранить написав макрос (либо event либо кастомизировав функцию, если вы используете не стандартные функции)