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

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

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

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

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

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

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

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

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

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

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

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

*

ariusgroup

  • *
  • 19
  • +0/-0
    • Просмотр профиля
Здравствуйте. Такой вопрос.
Шаблон на xslt.
Если есть простая страница сайта, там вставлен текст и в разных местах надо вывести несколько форм.
в tpl верстке просто в вставляется вызов макроса
как вызывать формы в xslt?
===========================


Проектным спонсорам

текст 1
%webforms add('128', '672', 'webforms_contact_2_1')%

Инфопартнерство

текст3
%webforms add('128', '672', 'webforms_contact_2_2')%

Преподавателям

текст3
%webforms add('129', '674', 'webforms_contact_2_3')%

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
точно также вставляете в поле контент, только форма будет выводиться не xslt а tpl

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
чтобы не мешать tpl и xslt  я обычно делаю так:

1. создаем в файле (если у вас старый вармант хранения файлов шаблона)  /xsltTpls/modules/content.xsl новый templates

<xsl:template match="result[@module = 'content' and @pageId='99']">
<div umi:element-id="{$document-page-id}" umi:field-name="content" umi:empty="&empty-page-content;">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes" />
</div>
<xsl:apply-templates select="document('udata://webforms/add/128/672')/udata" mode="webforms_contact_2_1"/>
<xsl:apply-templates select="document('udata://webforms/add/128/672')/udata" mode="webforms_contact_2_2"/>
<xsl:apply-templates select="document('udata://webforms/add/129/672')/udata" mode="webforms_contact_2_3"/>

</xsl:template>

обратите внимание что шаблон привязан к странице с id = 99 (пусть наша страница будет с таким id)

2. ну и не забываем создать шаблоны для вывода форм с mode="webforms_contact_2_1" , mode="webforms_contact_2_2" и mode="webforms_contact_2_3"

*

ariusgroup

  • *
  • 19
  • +0/-0
    • Просмотр профиля
Спасибо. Разобрался при верстке формы возникла другая проблема.

Необходимо вставить в шаблон формы след. код

<div class="button" style="width: 14.2em; margin-left: -7.6em;">
         <a href="#" onclick="if ( document.getElementById('form-1').style.height == '1px' ) { document.getElementById('form-1').style.height = 'auto'; } else { document.location='/thankyou-message/'; } return false;"><span>Написать</span></a>
      </div>

*

ariusgroup

  • *
  • 19
  • +0/-0
    • Просмотр профиля
Естественно он выдает ошибки, из-за javascript. Находил поиском решение с CDATA но оно подходит для блоков js кода типа
<script type="text/javascript">
   <![CDATA[
    try {
    var pageTracker = _gat._getTracker("ID-00000000-0");
    pageTracker._trackPageview();
    } catch(err) {}
   ]]>
 </script>
а как быть в данном случае не могу откапать.


*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
либо выносите js код в отдельное место, либо пользуйтесь xsl:attribute конструкцией... примерно так
<a href="#">
<xsl:attribute name="onclick">
<![CDATA[if ( document.getElementById('form-1').style.height == '1px' ) { document.getElementById('form-1').style.height = 'auto'; } else { document.location='/thankyou-message/'; } return false; ]]>
</xsl:attribute>
<span>Написать</span>
</a>

*

ariusgroup

  • *
  • 19
  • +0/-0
    • Просмотр профиля
Отлично. Все работает. Спасибо admin огромное!

*

ariusgroup

  • *
  • 19
  • +0/-0
    • Просмотр профиля
интересуют моменты обработки.

а именно - при отправке возникают ошибки, например
http://kursrik-test.ru.umitest.ru/contacts/?_err=1350472213
как из обрабатывать. вывести могу через обработку get запроса, но как узнать что значит каждый код, или в umi есть свой обработчик?

и второй, для все форм задается одна страницf удачной отправки, а у меня по тз дл для разных форм данные сртранцыс разным текстом, как управлять данным моментом
 <input type="hidden" name="ref_onsuccess" value="/webforms/posted/" />

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
ошибки выводятся с помощью макроса system listErrorMessages

по умолчанию текст при успешной отправке указывается в шаблоне письма для данной формы (настраивается в админке) в самом последнем поле типа html (не помню как называется оно) или можно прописать чтобы был редирект на нужную вам страницу, на которой вы напишите нужный вам текст.
Для редиректа нужно изменить параметр  <input type="hidden" name="ref_onsuccess" value="[url_page_with_success_text]" />