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

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

Ответов: 11
Просмотров: 3617
Последний ответ 14 Август 2013, 16:59:21
от admin
Вывести сумму заказа на странице "Заказ поступил в обработку"

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

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

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

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

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

Ответов: 3
Просмотров: 515
Последний ответ 19 Декабрь 2016, 12:29:09
от aghigay
Как в форму заказа в один шаг добавить свое поле адрес?

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

Ответов: 3
Просмотров: 357
Последний ответ 03 Май 2017, 23:21:19
от aghigay

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

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
В файле cart.xsl  папка templates\название_шаблона\xslt\modules\emarket\

<xsl:if test="$user-type != 'guest'">
         <p style="margin-top:30px;">
            <a href="{$lang-prefix}/emarket/ordersList/" >
               <xsl:text>&view-orders-list;</xsl:text>
            </a>
         </p>
      </xsl:if>

С которым рядом как мне думается можно подставив в строчку <xsl:if test="$user-type != 'guest'"> значение user вместо  guest  <xsl:if test="$user-type != 'user'"> скопировать ещё такой вариант и вставить ниже это:

<xsl:if test="$user-type != 'user'">
         <p style="margin-top:30px;">
            <a href="{$lang-prefix}/emarket/ordersList/" >
               <xsl:text>&view-orders-list;</xsl:text>
            </a>
         </p>
      </xsl:if>

Цель показывать корзину товаров по разному разным пользователям, то есть незарегистрированный покупатель должен вместо кнопки под корзиной "Оформить"  видеть "Зарегистрироваться и оформить" с ссылкой на страницу с регистрацией.
Как это сделать? Подскажите пожалуйста?

Для TPL-шаблонизатора такая вещь имеется:
http://wiki.umisoft.ru/%D0%9A%D0%B0%D0%BA_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C_%D0%B3%D0%BE%D1%81%D1%82%D1%8F%D0%BC_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D1%8F%D1%82%D1%8C_%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B_%28TPL%29
« Последнее редактирование: 01 Март 2013, 19:06:16 от Axiomateria »

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Нужно именно guest использовать, т.к. есть ещё "sv" - типо суперпользователь, админ.
<xsl:choose>
<xsl:when test="$user-type='guest'">
 <a href="/users/registrate/">Зарегистрироваться и оформить</a>
</xsl:when >
<xsl:otherwise>
<p style="margin-top:30px;">
            <a href="{$lang-prefix}/emarket/ordersList/" >
               <xsl:text>&view-orders-list;</xsl:text>
            </a>
         </p>
</xsl:otherwise>
</xsl:choose>

Ссылка, ведущая на страницу регистрации.

Предугадываю следующие вопросы:
- как вернуть пользователя после регистрации на предыдущую страницу;
- что стало с корзиной после авторизации;

Если они вдруг возникнут - пишите..
« Последнее редактирование: 01 Март 2013, 19:08:19 от Rodogor »

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Предугадываю следующие вопросы:
- как вернуть пользователя после регистрации на предыдущую страницу;
- что стало с корзиной после авторизации;

Вселенское спасибо! Будем работать над этим!

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Осмелюсь уточнить, что в итоге получилось вот такое :
<xsl:choose>
                 <xsl:when test="$user-type='guest'">
                    <a href="{$lang-prefix}/users/registrate/" class="button big basket_purchase">&reg-n-place;</a>
                 </xsl:when>
                 <xsl:when test="$user-type='user'">      
                    <a href="{$lang-prefix}/emarket/purchase/" class="button big basket_purchase">
                <xsl:text>&begin-purchase;</xsl:text>
               </a>
                </xsl:when>
                 <xsl:otherwise>
                  <p style="margin-top:20px;">
                   <a href="{$lang-prefix}/emarket/ordersList/" class="button big basket_purchase"><xsl:text>&view-orders-list;</xsl:text></a>
                  </p>
                 </xsl:otherwise>
               </xsl:choose>

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Предугадываю следующие вопросы:
- как вернуть пользователя после регистрации на предыдущую страницу;
- что стало с корзиной после авторизации;

Если они вдруг возникнут - пишите..

Здравствуйте!
Вот и возник один вопрос по теме:
Как в процессе оформления заказа при нажатии на кнопку  "Оформить" (или "Оплатить") вставить дополнительный шаг в виде страницы для позитивного уведомления покупателя "Спасибо! Ваш заказ поступил в обработку. О его оформлении Вы получите уведомления на указанный Вами почтовый ящик при регистрации.... ну или что-то вроде того" ?

Думаю, что надо опять потревожить файл cart.xsl в папке templates/название_шаблона/xslt/modules/emarket\ в котором новый шаблон вписать для вывода уведомления покупателю, да вот в этом-то и вопрос, как ?

Или уже файл payment.xsl в папке templates\название_шаблона/xslt/modules/emarket/purchase/ за подобные выводе отвечает ?

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Для того, что бы сделать дополнительный промежуточный шаг, нужно править именно api, что бы система понимала какой шаг предыдущий, какой следующий и т.п...

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
нужно править именно api,

То есть дело тут в программировании на PHP в системных файлах UMI ?

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Я под системными файлами имею в виду сам движок, который осуществляет взаимодействие модулей, их инициализацию и т.п.. Эти файлы править не нужно.
Файлы модуля emarket править нужно

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Файлы модуля emarket править нужно

- то есть те, которые лежат в папке /templates/название_шаблона/xslt/modules/emarket/
?

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
   В папке /templates/название_шаблона/xslt/modules/emarket/ есть файл purchase.xsl в котором есть следующий в код:
<xsl:template match="purchasing[@stage = 'result']">
      <p>
         <xsl:text>&emarket-order-failed;</xsl:text>
      </p>
   </xsl:template>
   
   <xsl:template match="purchasing[@stage = 'result' and @step = 'successful']">
      <p>
         <xsl:text>&emarket-order-successful;</xsl:text>
      </p>
   </xsl:template>

- где интуитивно как мне кажется именно и осуществляется процесс перехода с одного этапа к другому  
 purchasing[@stage = 'result' and @step = 'successful

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Если на этом "шаге" от пользователя ничего не требуется, реализуйте на JavaScript и не морочайте себе голову.  перехватить нажатие на кнопку, показать сообщение, и отправить форму дальше.

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Верное решение. Если не знаете api - то долго будете решать. В umi действительно часто неудобно что-то сдеать, хотя кажется, что тут нефиг делать, поэтому приходится делать через всякие костыли, пускай и не логичные, но....

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Если на этом "шаге" от пользователя ничего не требуется, реализуйте на JavaScript и не морочайте себе голову.  перехватить нажатие на кнопку, показать сообщение, и отправить форму дальше.

"и отправить форму дальше" - это значит можно в файле purchase.xsl /templates/название_шаблона/xslt/modules/emarket/ вставить всплывающее окно с уведомлением и предложением перейти по кнопке в личный кабинет, что бы отслеживать дальнейший ход обработки своего заказа ?
Я просто хочу уточнить для себя какой файл конкретно требует редакции для этого?

*

Axiomateria

  • ****
  • 320
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Верное решение. Если не знаете api - то долго будете решать...

API - это системные файлы CMS или файлы шаблонизатора ?

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Я даже не знаю как ответить. Напоминает демотиватор "Я молоко пила 20 минут назад - я топор ракета 40 минут вперёд".

API - это интерфейс прикладного программирования, через который можно взаимодействовать с какой-нибудь системой. К примеру, вы написали что-то, что выводит "hello world". Появляется новая задача - теперь надо выводить ещё "hello fucking world".. И для её реализации делается механизм взаимодействия с вашим кодом, в который параметром передаётся необходимый текст. Это как бы и будет api

Системные файлы - на мой взгляд это набор файлов, которые реализуют возможность api, реализуют модули и т.п... Реализация модуля - это одно, а реализация механизма, поддерживающего модули - это другое и скорее всего это и является СИСТЕМными файлами, формирующими систему.
Грубо говоря - api может быть не системной частью, но механизм реализации api будет системным

Если есть движок (системные файлы), если есть api, реализованы модули и т.п., то для удобства вывода данных используются различные шаблонизаторы. Вот многие cms сделаны так - тупо перемешка php и html, причём непоследовательная и непонятная. В случае использование шаблонизаторов это немного проще (хотя порой тоже нефига не понятно).
« Последнее редактирование: 05 Март 2013, 12:02:44 от Rodogor »