Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Как вывести itemprop="position" content="" в XSLT?

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

Ответов: 0
Просмотров: 3168
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979
Вывести цену для группы "элитных" пользователей

Автор SeweryssРаздел Настройка системы и модулей

Ответов: 3
Просмотров: 3832
Последний ответ 12 Ноября 2013, 23:27:00
от Seweryss
Вывести сумму заказа на странице "Заказ поступил в обработку"

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

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

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

Ответов: 4
Просмотров: 4002
Последний ответ 06 Марта 2014, 00:56:05
от ilyar
Вывести конкретное описание товара в шаблоне xslt

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

Ответов: 4
Просмотров: 7597
Последний ответ 25 Октября 2011, 02:40:56
от admin

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

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Доброго времени суток.

Есть одна форма и два поддомена, msk и spb, неожиданно оказалось, что эта форма должна отправлять для spb на одного адресата, а когда находишься на msk на другого.

Вопрос вот в чем, если сделать два адресата для msk и spb например под форму обратного звонка, можно ли их как-то подтягивать под условие какой домен сейчас активен?

Или проще сделать отдельные формы?

Спасибо

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
да, можно. В стандартной форме указывается поле system_email_to, которое содержит идентификатор списка получателей. Его можно подменять исходя из домена
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
да, можно. В стандартной форме указывается поле system_email_to, которое содержит идентификатор списка получателей. Его можно подменять исходя из домена

А можете подсказать, как посмотреть id получателей из этого поля?
Просто поискала, но не нашла, как работать с полем system_email_to на конкретного получателя ><

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Кликните на список - получите адрес в виде /admin/webforms/address_edit/9999/
Вот  9999 - это id
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Да, уже нашла =) Не успела отписаться, вы раньше дали ответ =)

Сейчас попробую, привязать к конкретному id...

это получается вот так?
    <xsl:template match="items" mode="address">
        <xsl:apply-templates select="item" mode="address"/>
    </xsl:template>
    <xsl:template match="item" mode="address">
<!--<input type="hidden" name="system_email_to" value="{@id}"/>-->
<xsl:if test="result/@domain = $msk_domain">
<input type="hidden" name="system_email_to" value="6692"/>
</xsl:if>
<xsl:if test="result/@domain = $spb_domain">
<input type="hidden" name="system_email_to" value="7093"/>
</xsl:if>
    </xsl:template>

или можно без result/@domain

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Кликните на список - получите адрес в виде /admin/webforms/address_edit/9999/
Вот  9999 - это id

Блин... если я прописываю свои условия пропадает форма...

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
В процессе выяснить, почему не работает отправка...

Выяснила глюк.

Почему-то письма отправляются на ту почту, которая в списке всех адресов последняя...

Какое условие могло поставить такое странное ограничение?О_О

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Стандартное условие demodizzy делает именно это, если не выбран ни один из адресов. Проверяйте: вы задействовали стандартный обработчик адресов
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Стандартное условие demodizzy делает именно это, если не выбран ни один из адресов. Проверяйте: вы задействовали стандартный обработчик адресов

Проверила, что в админке umi у формы стоит нужный адресат.

Вот код:
    <xsl:template match="udata[@module = 'webforms'][@method = 'add']">
<button class="close-button close-button--modal" data-close="" aria-label="Закрыть модальное окно" type="button">
<span aria-hidden="true">
<svg class="ms-icon close-icon">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#ms-close" />
</svg>
</span>
</button>
<h2 class="appoint__title">
<xsl:value-of select="document('upage://106.title_directorform')//value" disable-output-escaping="yes" />
</h2>

<form method="post" action="/webforms/send/" enctype="multipart/form-data" id="directorForm" novalidate="">
<p class="helper-text helper-text--director">
<xsl:value-of select="document('upage://106.text_directorform')//value" disable-output-escaping="yes" />
</p>
<input type="hidden" name="system_form_id" value="{/udata/@form_id}"/>
<input type="hidden" name="ref_onsuccess" value="/webforms/posted/{/udata/@form_id}/"/>
    <xsl:apply-templates select="items" mode="address"/>
<xsl:apply-templates select="groups/group" mode="webforms" />
<button type="submit" class="top-bar__button button button--uppercase button--bold primary float-right"
data-open="appointmentModal">Отправить</button>
</form>
    </xsl:template>

    <!--ADDRESS-->
    <xsl:template match="items" mode="address">
        <xsl:apply-templates select="item" mode="address"/>
    </xsl:template>
    <xsl:template match="item" mode="address">
        <input type="hidden" name="system_email_to" value="{@id}"/>
    </xsl:template>
    <!--All except services-->
    <xsl:template match="group" mode="webforms">
        <xsl:apply-templates select="field" mode="webforms"/>
    </xsl:template>

Вызов формы идет через js:
    /*------ director form ------*/
    (function () {
if ((window.location+'').indexOf('spb.') > 0) return;
        $('.js-director-form').on('click', function (e) {
            e.preventDefault();
            var $serviceModal = $('#callbackModal');
            var $serviceContentUrl = '/udata//webforms/add/124/?transform=components/director-form.xsl';
            $serviceModal.load($serviceContentUrl, function (result) {
                $serviceModal.html(result).foundation('open');
                var $orderForm = $('#directorForm');
                validationForm($orderForm, true);
                ajaxResponseForm($orderForm, $serviceModal);
            });
        });
    })();
    /*------ director form spb ------*/
    (function () {
if ((window.location+'').indexOf('msk.') > 0) return;
        $('.js-director-form').on('click', function (e) {
            e.preventDefault();
            var $serviceModal = $('#callbackModal');
            var $serviceContentUrl = '/udata//webforms/add/208/?transform=components/director-form.xsl';
            $serviceModal.load($serviceContentUrl, function (result) {
                $serviceModal.html(result).foundation('open');
                var $orderForm = $('#directorForm');
                validationForm($orderForm, true);
                ajaxResponseForm($orderForm, $serviceModal);
            });
        });
    })();

Изначально сайт делала не я, пыталась обойти js, но сайт сразу падает к черту...
director form spb добавила уже я, проверяла через код, формы подтягиваются, как надо.
НО, письма не отправляются совсем...

Если я форму удаляю, которую создала для spb, то письма опять приходят на последний адрес из списка адресатов.
В форме, которую создала для Питера id полей имеют приставку _spb.

P.S.: убрала [@selected='selected'], ставила чтобы посмотреть что и как выведет
« Последнее редактирование: 25 Января 2017, 14:06:30 от Sumrakrnd »

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Так, отправляется с двух форм, но так же на последний адресат из списков, а не на тот, который выбран для формы...

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Кстати, если прописать в адресной строке /udata/webforms/add/208 или 124, одна для spb, другая для msk домена формы.
То у них отмечаются какие адреса выбраны...
<udata form_id="208" template="webforms" module="webforms" method="add" generation-time="0.011611">
<items>
  <item id="6696" selected="selected">test spb</item>
  <item id="6697">test msk</item>
</items>
<groups>
  <group name="form_spb" title="Форма spb">
    <field name="name_spb" title="Ваше имя" field_id="628" input_name="data[new][name_spb]" type="string" id="628" required="required"/>
    <field name="email_spb" title="Ваш e-mail" field_id="629" input_name="data[new][email_spb]" type="string" id="629" required="required"/>
    <field name="message_spb" title="Ваше сообщение" field_id="630" input_name="data[new][message_spb]" type="string" id="630"/>
  </group>
</groups>
</udata>

Попробовала прописать точное указание, но это не сработало..
    <xsl:template match="item" mode="address">
        <input type="hidden" name="system_email_to" value="{items/item/@id}"/>
    </xsl:template>

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Стандартное условие demodizzy делает именно это, если не выбран ни один из адресов. Проверяйте: вы задействовали стандартный обработчик адресов

Я смогла сделать отправку по указанным адресатам вот таким запросом:
    <xsl:template match="item[@selected='selected']" mode="address">
        <input type="hidden" name="system_email_to" value="{@id}"/>
    </xsl:template>


но вопрос, почему стала выводится название адресата >_< при том адресата, который не выбран для формы в админке
« Последнее редактирование: 25 Января 2017, 15:58:10 от Sumrakrnd »

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Поставила такое условие и текст ушел... и даже осталась отправка, как надо.
    <xsl:template match="items" mode="address">
        <xsl:apply-templates select="item" mode="address"/>
    </xsl:template>
    <xsl:template match="item" mode="address">
        <input type="hidden" name="system_email_to" value="{@id}"/>
    </xsl:template>
<xsl:template match="items[count(item) &gt; 1]" mode="address">
<xsl:apply-templates select="item[@selected='selected']" mode="address" />
</xsl:template>
Но мне не очень нравится, как это выглядит...

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Забавно.... перенесла на живой сайт, не работает.
Разница делала на msk.new... и spb.new... перенесла на msk. и spb. соответственно, на тестовом все работает.

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
В общем был гибрид проблем:
- Хостинг
- Выделывание каптчи, ее пришлось отключить через php, т.к. при отслеживание показывалось, что он пытается ее проверить, при том что она выключена была в админке. И из-за этого стопорилась отправка.