Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод количества объектов в категории. XSLT

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

Ответов: 6
Просмотров: 4741
Последний ответ 18 Октября 2014, 17:39:24
от idu.kuru
Сортировка по алфавиту в xslt

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

Ответов: 2
Просмотров: 4237
Последний ответ 14 Января 2012, 17:25:36
от admin
Не выводятся все теги в xslt

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

Ответов: 2
Просмотров: 3857
Последний ответ 03 Июня 2014, 13:52:04
от goodprofy
webforms & XSLT & модальное окно

Автор graveРаздел JS и AJAX

Ответов: 8
Просмотров: 8586
Последний ответ 13 Июня 2011, 00:41:56
от talanter
Как вывести itemprop="position" content="" в XSLT?

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

Ответов: 0
Просмотров: 1562
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979

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

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
UMI CMS корзина в один шаг (xslt)
« : 12 Сентября 2012, 17:27:12 »
Как сделать в UMI CMS корзину в один шаг (xslt)? Если можно расписать подробно

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #1 : 12 Сентября 2012, 17:34:08 »
статьи на wiki.umisoft.ru смотрели?

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #2 : 12 Сентября 2012, 17:39:44 »
смотрел, но непонятно начиная с пункта :
"На системной странице /emarket/cart/, либо какой-либо другой, подобным вызовом: udata://emarket/fast_purchasing_xslt/

мы получим все необходимые данные для составления формы оформления заказа, данные будут примерно в следующем виде: "


видел обсуждение по этой теме, но всеодно не понятно.... можно как-то доступно объяснить?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #3 : 12 Сентября 2012, 17:53:16 »
хм... если описывать все полностью со всеми возможными вопросами, то тут надо отдельный видеоурок писать)

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #4 : 12 Сентября 2012, 18:15:39 »
так может уже есть ?  :D

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #5 : 12 Сентября 2012, 18:16:21 »
помогите, очень надо

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #6 : 12 Сентября 2012, 18:31:22 »
я пока такой не записывал, и судя по загруженности смогу записать только в октябре, если найдете где-нибудь отпишите сюда, чтобы другим было на что посмотреть

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #7 : 12 Сентября 2012, 18:41:13 »
может роспишыте как делать , если все получится с меня ролик  ;)

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #8 : 12 Сентября 2012, 18:54:08 »
Цитировать
хм... если описывать все полностью со всеми возможными вопросами, то тут надо отдельный видеоурок писать)

вопрос как раз во времени, снять видео быстрее чем расписывать)

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

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #9 : 12 Сентября 2012, 19:08:45 »
такс...

1.Нам понадобятся дополнительные php-методы для реализации данной задачи, которые необходимо добавить внутри абстрактного класса файла classes/modules/emarket/__custom.php, сами методы следующие:

добавил в код.

2.также в папку classes/modules/emarket/ необходимо добавить файл permissions.custom.php следующего содержания:

создал файл и вставил туда код.

3.На системной странице /emarket/cart/, либо какой-либо другой, подобным вызовом: udata://emarket/fast_purchasing_xslt/

мы получим все необходимые данные для составления формы оформления заказа, данные будут примерно в следующем виде:


на этом этапе куда вставить код? или что делать, где вызывать ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #10 : 12 Сентября 2012, 19:39:25 »
подразумевается что необходимо вызвать макрос udata://emarket/fast_purchasing_xslt/ где-то, я обычно вызываю его в шаблоне для корзины, то есть ниже всех товаров у меня стоит вызов данного макроса через xsl:apply-templates конструкцию (по тому же принципы что и вызов макроса для вывода меню content/menu)

Далее, необходимо создать шаблон для обработки результатов макроса udata://emarket/fast_purchasing_xslt/

, попробуй вбить в адресной строке http://свой_сайт/udata://emarket/fast_purchasing_xslt/ и увидишь что там возвращается код который можно развернуть в поля отображающие все шаги покупки

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #11 : 12 Сентября 2012, 19:42:56 »
то есть ты создаешь шаблон по типу того что описывался тут http://umihelp.ru/forum/index.php/topic,1219.msg4407.html#msg4407

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #12 : 13 Сентября 2012, 12:48:44 »
xsltTpls/modules/emarket/cart.xsl - добавляю строку :
"<xsl:apply-templates select="document('udata://emarket/fast_purchasing_xslt/')"/>"

потом в этой же папке создаю файл: fast_purchasing_xslt.xsl
в который добавляю код:
<xsl:template match="/result[@method = 'fast_purchasing_xslt']">
      <xsl:apply-templates select="document('udata://emarket/fast_purchasing_xslt')" mode="onstep"/>
   </xsl:template>
   
   <xsl:template match="udata[@module='emarket' and @method = 'fast_purchasing_xslt']" mode="onstep">
   <form enctype="multipart/form-data" method="post" action="{$lang-prefix}/emarket/saveinfo/">

         <xsl:apply-templates select="document(concat('udata://data/getEditForm/', customer/object/@id))" />

<!-- Выбор способа доставки -->
         <h4>
            <xsl:text>&delivery-agent;:</xsl:text>
         </h4>
         <div class="city">
         <select class="txt" name="city" id="city-id">
               <option value="">--Выберите город--</option>
               <option value="5" dm="447,18628,18606,18979">Санкт-Петербург</option>
               <option value="6" dm="18627,18979,18607,18633">Пригород Санкт-Петербурга и ЛО</option>
               <option value="4" dm="18607,18633">Другой город</option>
         </select>
         </div>
         <div class="sposob_dostavki">
         <dl id="delivery-id">
         <xsl:apply-templates select="delivery_choose/items" mode="delivery-choose" />

</dl>
<script type="text/javascript">
   $(function() {
      $("#city-id").change(function() {
         $("#delivery-id input").attr("disabled", true);
         $("#delivery-id dd").addClass("disabled");
         $("#delivery-address").hide();
         
         if (dm = $(":selected", this).attr("dm")) {
            var validDeliveries = dm.split(",");
            
            for (x in validDeliveries) {
               $("#delivery-" + validDeliveries
  • ).attr("disabled", false);

               $("#delivery-" + validDeliveries
  • + "-description").removeClass("disabled");

            }
         }
      });
         
   });
</script>
         </div>
         <!-- /end Выбор способа доставки -->
<!-- Выбор адреса доставки -->
         <div class="delivery_block">
         <h4>
            <xsl:text>&delivery;:</xsl:text>
         </h4>
         <div class="dostavka">
         <xsl:apply-templates select="delivery/items" mode="delivery-address" />
         <script>
         jQuery('#delivery_address').submit(function(){
            var input = jQuery('input:radio:checked', this);
            if (typeof input.val() == 'undefined' || input.val() == 'new') {
               if (typeof input.val() == 'undefined') {
                  jQuery('input:radio[value=new]', this).attr('checked','checked');
               }
               return site.forms.data.check(this);
            }
         });
      </script>   
</div>      
      </div>
      <!-- /end Выбор адреса доставки -->
<!-- Способ оплаты-->
<h4>
         <xsl:text>&payment-type;:</xsl:text>
      </h4>
      <div class="oplata">
      <xsl:apply-templates select="payment/items/item" mode="payment" />
      </div>
         <div style="text-align:center;">
            <input type="submit" class="button" value="&kupit;" />
         </div>
<!-- /end Способ оплаты-->
      </form>
</xsl:template>

я правильно понял?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #13 : 13 Сентября 2012, 12:54:29 »
да, только два замечания

Цитировать
потом в этой же папке создаю файл: fast_purchasing_xslt.xsl
в который добавляю код:

незабудте подключить этот файл в фале comon.xsl в этой же папке

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

*

dmezhenskij

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:UMI CMS корзина в один шаг (xslt)
« Ответ #14 : 13 Сентября 2012, 15:22:02 »
сделал... выводится в корзине как "Доставка"... и всё.... что не так ?