UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: max_rip от 20 Января 2014, 15:36:46

Название: Вывод в шаблоне дополнительных полей при оформлении заказа
Отправлено: max_rip от 20 Января 2014, 15:36:46
Имеем форму заказа в один шаг, опция способ оплаты отключена, за не надобностью всего того функционала которая она тянет за собой.
Что хочется, добавить в сам заказ два поля это комментарий и выпадающий список с типом оплаты, для меня это просто несколько вариантов, наложенный платеж, приват 24, пластиковая карта (после подтверждения заказа отправляем ссылку для оплаты)
Сами поля и их параметры добавил в шаблоны данных, осталось дело за малым вывести это в самой форме. С комментарием проблем нет ;).
А вот список доступных методов оплаты, хочу вывести через data/getEditForm
Но не могу понять как это сделать ), ну и собственно + было бы если не все заполнили правильно, когда их вернет назад, то чтобы выбранные перед этим значения были подставлены назад.
Или как мне это сделать лучше?
Название: Re:Вывод в шаблоне дополнительных полей при оформлении заказа
Отправлено: apaxuc от 27 Февраля 2014, 13:14:53
Что бы сделать так как вы хотите надо в тип данных Заказ добавить "список доступных методов оплаты" выводим через data/getEditForm, не уверен будет ли сохранятся, ну допустим будет, тогда по событию редактирование объекта заказа меняем его статус.

Но правильнее всего будет делать это через способы оплаты добавив новые платежные системы наложенный платеж, приват 24, вот документация http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/integraciya_platzhnyh_sistem/
Название: Re:Вывод в шаблоне дополнительных полей при оформлении заказа
Отправлено: admin от 14 Мая 2014, 12:47:47
у вас есть какая-то функция которая обрабатывает заказ в один шаг, достаточно в неё добавить сохранения поля "оплата" и поля "комментарий"

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 либо кастомизировав функцию, если вы используете не стандартные функции)