Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывести сумму заказа на странице "Заказ поступил в обработку"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3792
Последний ответ 07 Ноября 2014, 23:46:49
от Axiomateria
Перенаправление на страницу регистрации покупателя перед оформлением заказа

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 16
Просмотров: 10083
Последний ответ 11 Марта 2013, 11:54:29
от Axiomateria
Проблемы уведомления клиента при смене статуса заказа и доставки

Автор stud_maiРаздел Шаблоны XSLT

Ответов: 7
Просмотров: 4288
Последний ответ 05 Января 2016, 00:59:01
от admin
Не суммировать скидку на товар с общей скидкой от суммы заказа

Автор smartwebРаздел Шаблоны TPL

Ответов: 3
Просмотров: 2653
Последний ответ 19 Декабря 2016, 12:29:09
от aghigay
статус заказа - с отображением цветом в списке заказов

Автор kroxaРаздел Шаблоны XSLT

Ответов: 0
Просмотров: 2394
Последний ответ 10 Ноября 2011, 16:01:14
от kroxa

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

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Здравствуйте! помогите, пожалуйста, не могу понять что не так. Вставляю скрипт оформления заказа в один шаг, вроде все идет как надо, после нажатия кнопки переходит на страницу оплаты, но заказ в админку не поступает...В чем можем быть причина?

Вот код. Буду благодарен за помощь.

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:umi="http://www.umi-cms.ru/TR/umi">


<!-- СТРАНИЦА CART -->

<xsl:template match="result[@module='emarket' and @method='cart']">

<div class=" no-aside container frame clearfix">
<div class="section">
<ul class="breadcrumbs">
<li><a href="#">Главная</a></li>
<li>Корзина</li>
</ul>         
<h1>Ваша корзина</h1>
   
<!-- Вывод корзины товаров -->
<div class="cart-f">
<ul class="cart">
<li class="title-heading">
<div class="col1"><strong>Товар</strong></div>
<div class="col2"><strong>Количество</strong></div>
<div class="col3"><strong>Стоимость</strong></div>
<div class="col4"><strong>Удалить</strong></div>
</li>

<!-- Вывод товаров в корзине items -->
<xsl:apply-templates select="udata/items/item" mode="cart_items" />                   
<li class="clearfix total title-heading">
<div class="total-box">
<strong class="label">ИТОГО:</strong>
<strong class="value"><xsl:value-of select="udata/summary/price/actual"/> .- </strong>
</div>
</li>
</ul>

<!-- Вывод оформления заказа в один шаг -->   
<xsl:apply-templates select="document('udata://emarket/fast_purchasing_xslt/')/udata" mode="one_step" />    

</div>
</div>
</div>

</xsl:template>  




<!-- Вывод товаров item в корзине -->   
<xsl:template match="item" mode="cart_items" >
<!-- Подключаю форму для кнопки "Пересчитать" -->   
<form id="basket_{page/@id}" action="/emarket/basket/put/element/{page/@id}/" method="get">
<li class="clearfix">
<div class="col1">
<a href="{page/@link}"><img src="{document(concat('upage://', page/@id))/udata/page/properties/group[@name='images_tovara']/property[@name='glavnoe_izobrazhenie']/value}"  width="59"/></a>
<strong><a href="{page/@link}"> <xsl:value-of select="page/name"/></a></strong>
</div>
<div class="col2"><input name="amount" class="text" value="{amount}" type="text" />
<a href="#" onclick="document.getElementById('basket_{page/@id}').submit()" ><img alt="Пересчитать" title="Пересчитать" src="/images/sync.png" style="margin-bottom: 4px; margin-left: 4px;"/></a>
</div>
<div class="col3"><xsl:value-of select="price/actual"/> .- </div>
<div class="col4"><a alt="Удалить товар из корзины" title="Удалить товар из корзины" href="/emarket/basket/remove/element/{./page/@id}/"><span class="del">del</span></a></div>
</li>   
<!-- Закрываю форму для кнопки "Пересчитать" -->
</form>            
</xsl:template>  






<!-- КОРЗИНА ТОВАРОВ ВЫВОД ONE STEP ОФОРМЛЕНИЯ ЗАКАЗА -->

<xsl:template match="udata" mode="one_step" >  
<!-- Подключаю форму обработки данных оформления заказа -->
<form method="post" action="/emarket/saveinfo/">  
<div class="blocks-holder clearfix">  
 
<div class="block main-block">
<h2>Личные данные</h2>   
<!-- Вывод поля данных пользователя -->
<xsl:apply-templates select="customer" mode="customer" />
<!-- Вывод поля адреса доставки -->
<xsl:apply-templates select="delivery" mode="delivery" />
</div>   
 
<div class="sub-block block">
<h2>Способ доставки</h2>
<!-- Вывод выбора способа доставки -->
<xsl:apply-templates select="delivery_choose/items/item" mode="delivery_choose" />
</div>
 
<div class="add-block block">
<h2>Способ оплаты</h2>
<!-- Вывод выбора способа оплаты -->
<xsl:apply-templates select="payment/items/item" mode="payment" />
</div>
</div>

<!-- Вывод кнопки оформления заказа и кнопки возвращения в каталог -->      
<div class="btn-holder">
<input type="submit" value="оформить заказ" class="submit fl-r"/>
<a href="/" class="reset fl-l">Вернуться в каталог</a>
</div>
<!-- Закрываю форму обработки данных оформления заказа -->
</form>

</xsl:template>  





<!-- Поля личных данных пользователя -->                  
<xsl:template match="customer" mode="customer">
<xsl:apply-templates select="document(concat('udata://data/getEditForm/', object/@id))/udata/group/field" mode="delivery_field" />
</xsl:template>

<xsl:template match="delivery" mode="delivery">

<xsl:apply-templates select="document('udata://data/getCreateForm/5')/udata/group/field" mode="delivery_field" />

</xsl:template>





<!-- Вывод поля адреса доставки -->                  
<xsl:template match="field" mode="delivery_field">
<div class="f-row clearfix">
<label class="label"><xsl:value-of select="@title" />*</label>
<div class="f-input"><input type="{@type}" class="text" name="{@input_name}" /></div>
</div>
</xsl:template>

<!-- Вывод поля СТРАНА адреса доставки -->   
<xsl:template match="field[@name='country']" mode="delivery_field">
<div class="f-row clearfix">
<label class="label"><xsl:value-of select="@title" />*</label>
<select name="{@input_name}" class="text">      
<xsl:apply-templates select="values/item" mode="delivery_field_select" />
</select>
</div>
</xsl:template>

<!-- Вывод данных списка в поле СТРАНА адреса доставки -->   
<xsl:template match="item" mode="delivery_field_select">
<option value="{@id}" ><xsl:value-of select="."/></option>
</xsl:template>









<!--Вывод item способов доставки-->
<xsl:template match="item" mode="delivery_choose" >  
<div class="f-row clearfix">
<input checked="checked" name="delivery-address" value="new" type="radio" />
<label for="r5"><xsl:value-of select="@name"/></label>
</div>               
</xsl:template>  

<!--Вывод item способов оплаты-->
<xsl:template match="item" mode="payment" >  
<div class="f-row clearfix">
<input checked="checked" type="radio" name="payment-id" class="{@type-name}" value="{@id}" />
<label for="r2"><xsl:value-of select="@name"/></label>
</div>
</xsl:template>  




</xsl:stylesheet>
« Последнее редактирование: 11 Ноября 2012, 23:05:46 от diii3 »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #1 : 25 Октября 2012, 22:29:44 »
Цитировать
вроде все идет как надо, после нажатия кнопки переходит на страницу оплаты, но заказ в админку не поступает...В чем можем быть причина?

переходит это уже хорошо, а дальше что вы делаете? что не так происходит? ведь заказ создастся только после того, как будут пройдены все этапы, в том числе и страница оплаты

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #2 : 27 Октября 2012, 14:02:39 »
Спасибо за ответ! Пример - покупатель выбирает тип  оплаты "Курьеру при получении", после нажатия кнопки "Оформить заказ" посетитель попадает на страницу /emarket/purchase/payment/courier/. Там должна быть какая-то кнопка типа "Подтверждаю" или как? Смотрю эту страницу в .xml, ничего нет.

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #3 : 31 Октября 2012, 21:25:09 »
Разобрался немного с тем, что писал выше. Все работает нормально, в предыдущей версии ЮМИ при нажатии кнопки оформления заказа с использованием макроса обработки в один шаг, если выбирался тип оплаты курьеру, он сразу приобретал статус successful и добавлялся в список заказов в админке, сейчас же после нажатия происходит переход на страницу /emarket/purchase/payment/courier/. Тут у меня возникает вопрос - как нужно обработать эту страницу чтобы произошло добавление заказа в админку? Если есть пример кода, было бы просто замечательно. Буду благодарен за любую помощь, вроде несложный вопрос но очень поставил меня в тупик...

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #4 : 03 Ноября 2012, 13:40:22 »
если у вас есть товары и вы оформляете заказ и перешли на последний шаг, то система должна выполнить код по адресу /emarket/purchase/payment/courier/. А этот код и должен был завершить удачно ваш заказ и сделать редирект на successful страницу.

Попробуйте снова включить стандартный механизм покупки и посмотреть все ли ок при стандартном оформлении и выборе способа оплаты "оплата курьеру".

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #5 : 04 Ноября 2012, 00:04:18 »
Спасибо за ответ! Попробую!

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #6 : 04 Ноября 2012, 18:31:49 »
Полгода назад делал интернет-магазин, где использовал точно такую же схему заказа в один шаг. Для теста я обновил этот магазин, оказалось что после обновления в этом магазине также при выборе оплаты курьеру при получении, система переходит на страницу /payment/courier/, чего раньше не было. Выходит произошло какое-то изменение алгоритма работы в самой UMI? Мне интересно, что же все-таки нужно сделать на этой странице? Допустим мы используем Робокассу, тогда сам макрос оплаты получает какие-то данные от Робокассы об успешности платежа и заносит заказ в систему, так ведь? Что же должно происходить на странице курьера? Непонятно....

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #7 : 07 Ноября 2012, 08:25:05 »
какая версия на которой у вас происходит перекидывание на шаг /payment/courier/ ? может это как раз проблема с версией?

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #8 : 08 Ноября 2012, 23:38:49 »
Версия последняя, которая сейчас устанавливается. Притом обновляя старый сайт интернет-магазин, происходит тоже самое - там где раньше происходило занесение товара в админку, происходит перекидование на эту страницу. Вопрос - ведь на этой странице должен исполняться какой-то код, как например при работе со страницей платежной системы...Но я раньше платежные системы не подключал, поэтому не знаю что там должно быть, соответственно не могу разобраться и с этим этапом. Буду признателен если поможете, к сожалению нигде не могу найти ответ, вроде все просто стандартная функция интернет-магазина - оформление заказа, а не работает и что с этим делать непонятно....

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #9 : 10 Ноября 2012, 11:37:36 »
я бы позвонил в umi в СЗ, так как, если они принципиально не меняли логику данного способа оплаты "Оплата курьеру при получении", то этот шаг должен просто дооформить заказ, без всяких доп. шагов и перекинуть на страницу успешного оформления заказа

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #10 : 10 Ноября 2012, 15:12:22 »
Спасибо! Обязательно им позвоню. Вы знаете, какая то странность, интересует как вообще работает этот шаг - человек выбрал способ оплаты, перешел на страницу...что дальше?..идет подтверждение от платежной системе об оплате и тогда заказ заносится в административную часть?....но какой конкретно сигнал должна получить система об успешности прохождения этапа. Допустим пример - делал весной интернет- магазин и если там выбираешь способ оплаты "Платежная квитанция", она формируется автоматически, а сейчас просто переход на эту страницу, пробую посмотреть через .xml, никаких свойтв нет, чтобы можно было вывести....И нет никакого подтверждения, вроде как нажал на кнопку "Купить" - товар в корзине, нажал на кнопку "Оформить" в корзине, там в action формы нужная ссылка для передачи данных и ты попал на другой этап.....

Смотрю в интернете разную информацию, на help-dev, wiki.umi ничего подобного найти не могу, вроде а=бсолютно стандартная и очень востребованная функция, но разъяснений как она работет нет...

Спасибо вам большое за ответы. Я конечно позвоню в юми, попробуем там разобраться. Возможно все проще и я просто что-то не уловил в логике системы. Если найду что-то полезное - отпишусь.

*

diii3

  • ***
  • 154
  • +6/-0
    • Просмотр профиля
Re:Не работает оформление заказа в один шаг
« Ответ #11 : 11 Ноября 2012, 23:10:08 »
Разобрался! Если у кого возникнет подобная ситуация, нужно добавить следующий код к вышеприведенному:

   <xsl:template match="/result[@method = 'purchase']">
      <xsl:apply-templates select="document('udata://emarket/purchase')" />
   </xsl:template>
   
   <xsl:template match="purchasing">
      <h4>
         <xsl:text>Purchase is in progress: </xsl:text>
         <xsl:value-of select="concat(@stage, '::', @step, '()')" />
      </h4>
   </xsl:template>

Раньше он по видимому запускался автоматически, а с последними обновлениями ЮМИ требуется дописать эту часть. После его добавления происходит занесение заказа в административную часть используя методы оплаты "Платежная квитанция" и "Оплата курьеру", остальные пока не пробовал)