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

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

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

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

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

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

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

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

Ответов: 8
Просмотров: 5530
Последний ответ 13 Июнь 2011, 00:41:56
от talanter
Работа модуля Обратная связь (вставка форм в контент сайта) при XSLT

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

Ответов: 8
Просмотров: 3323
Последний ответ 17 Октябрь 2012, 15:29:17
от admin

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

*

dmezhenskij

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

*

admin

  • *****
  • 2421
  • +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

  • *****
  • 2421
  • +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

  • *****
  • 2421
  • +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

  • *****
  • 2421
  • +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

  • *****
  • 2421
  • +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

  • *****
  • 2421
  • +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

  • *****
  • 2421
  • +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 »
сделал... выводится в корзине как "Доставка"... и всё.... что не так ?