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

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

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

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

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

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

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

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

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

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

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

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

*

PHOENIX-75

  • *
  • 22
  • +3/-0
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #60 : 12 Октября 2012, 15:02:20 »
Подскажите пожалуйста, может уже кто сталкивался и решал такой вопрос.
При оформлении заказа в один шаг у страницы отсутствует title.
Если посмотреть что отдаёт xml то видно, что title ничего не содержит:

<result module="emarket" method="fast_purchasing" domain="localhost" system-build="20317" lang="ru" header="" title="" site-name="Local-Shop" request-uri="/emarket/fast_purchasing/.xml">

Или может быть есть возможность подставить title принудительно?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #61 : 16 Октября 2012, 12:11:03 »
для того чтобы в title что-то появилось надо чтобы в php скрипте был указан заголово. Самый простой пример:

немного редактируем функцию
public function fast_purchasing_xslt(){
  $order = $this->getBasketOrder();
  $orderId = $order->id;
  $customer = selector::get('object')->id($order->customer_id);
 
  $result = array(
  'attribute:id'   => ($orderId),
  'xlink:href'   => ('uobject://' . $orderId));
 
  if(!permissionsCollection::getInstance()->isAuth()){
    $result['customer']   = array('full:object' => $customer);
  }
 
  $result['delivery']   = $this->customerDeliveryList('notemplate');
  $result['delivery_choose']   = $this->renderDeliveryList($order, 'notemplate');
  $result['payment']   = $this->renderPaymentsList_custom($order, 'notemplate');
 
$this->setHeader("Наш заголовок");
return  $result;
}

не забываем что если мы в файле пишем кириллицу, то обязательно проверяйте кодировку файла , чтобы была utf-8 без bom

*

PHOENIX-75

  • *
  • 22
  • +3/-0
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #62 : 18 Октября 2012, 17:20:59 »
Попробовал, дописал строчку в функцию. Увы, не сработало.
Может быть есть ещё какие варианты? Кто сталкивался?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #63 : 25 Октября 2012, 16:32:38 »
код в студию

*

okolovas

  • *
  • 13
  • +0/-0
    • Просмотр профиля
    • okolovas.net
Re:Оформление заказа за один шаг.
« Ответ #64 : 15 Ноября 2012, 19:04:47 »
Помогите, пожалуйста!

В том же механизме быстрого заказа из всех способов оплаты работает только "курьеру наличными". При выборе других способов ("курьеру картой", который должен работать так же как "наличными курьеру", или "робокасса") пользователь не попадает на страницу /emarket/saveinfo/ вообще. Почему так может происходить?

Способы оплаты в админке существуют, ID правильные, кроме того, в механизме обычного заказа по шагам /emarket/fast_purchase/ всё корректно работает...

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #65 : 16 Ноября 2012, 10:41:29 »
способы оплаты "наличными курьеру", или "робокасса" работают по разному принципу, если вы под строчкой
Цитировать
"наличными курьеру", или "робокасса"
подразумевали именно тип способа оплаты, а не то название, которые вы им дали при создании в админке.

Поэтому, давайте сначала о том, какой тип способа оплаты в админке у вашего варианта оплаты "курьеру картой"?

*

okolovas

  • *
  • 13
  • +0/-0
    • Просмотр профиля
    • okolovas.net
Re:Оформление заказа за один шаг.
« Ответ #66 : 16 Ноября 2012, 12:30:09 »
Курьеру картой и курьеру наличными имеют одинаковый тип - "курьеру наличными". Robokassa имеет тип "Robokassa".

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #67 : 16 Ноября 2012, 16:20:40 »
а куда попадает пользователь когда выбирает вариант оплаты "Курьеру картой"?

*

okolovas

  • *
  • 13
  • +0/-0
    • Просмотр профиля
    • okolovas.net
Re:Оформление заказа за один шаг.
« Ответ #68 : 16 Ноября 2012, 16:32:24 »
Как и при выборе робокассы, на страницу /emarket/fast_purchasing_xslt/do/
Если снова отправить заказ с одним из этих способов оплаты, то попадёт на /emarket/fast_purchasing_xslt/do/do/ , затем на /do/do/do/ и так далее.

*

okolovas

  • *
  • 13
  • +0/-0
    • Просмотр профиля
    • okolovas.net
Re:Оформление заказа за один шаг.
« Ответ #69 : 19 Ноября 2012, 18:42:57 »
То есть, ничего не происходит, пользователь остаётся на той же странице. В URL в конец дописывается "/do" каждый раз.

*

admin

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

*

rellai

  • **
  • 58
  • +5/-0
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #71 : 17 Мая 2014, 02:04:43 »
Всем привет, подниму старую тему.
У меня вопрос возник, а как сделать чтобы после ввода адреса расчиталась стоимость доставки?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #72 : 17 Мая 2014, 07:22:28 »
Всем привет, подниму старую тему.
У меня вопрос возник, а как сделать чтобы после ввода адреса расчиталась стоимость доставки?


Очень общий вопрос.
Опишите в какой момент должна рассчитываться стоимость?
Например, если у вас стандартный вариант оформления заказа, как сделано в demodizzy, то у вас все шаги оформления идут подряд на разных страницах и стоимость доставок считается сама (и тут уже вопрос как правильно создать способы доставки чтобы они считались)...

или у вас установлен один из "готовых сайтов", тогда оформление заказа у вас происходит немного по другим шаблонам и немного другому сценарию...

или у вас оформление заказа в один шаг (либо сделанный на основе статьи wiki.umisoft, либо дефолтный если у вас одна из последних версий системы) и там рассчет опять же должен происходит сам собой...

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

и т.п.

Пиши полнее, желательно с описание чего конкретно у вас уже есть, чего хочется и что не получается.

*

rellai

  • **
  • 58
  • +5/-0
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #73 : 17 Мая 2014, 10:41:01 »
Там свой сайт со своими шаблонами, от стандартных ничего не осталось.
Изначально сделано оформление заказа в несколько шагов. попросили сделать в 1 шаг, взял вот эту статью
http://wiki.umisoft.ru/Оформление_заказа_в_один_шаг_–_xslt_шаблонизатор

и прикрутил шаблон вот отсюда:
http://umihelp.ru/forum/index.php?topic=1366.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>

Рассчитываться стоимость доставки должна после заполнения индекса(ведь вроде на это смотрит ). ну либо хотя бы по нажатию кнопки. все равно. это ведь с помощью скрипта решить можно... главное что дергать...

*

rellai

  • **
  • 58
  • +5/-0
    • Просмотр профиля
Re:Оформление заказа за один шаг.
« Ответ #74 : 19 Мая 2014, 13:48:59 »
Есть у кого нить мысли?
Как и что можно дернуть чтобы расчитало стоимость доставки?