Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Модуль Меню - заголовки для блоков меню их поля "Название"

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

Ответов: 8
Просмотров: 7260
Последний ответ 06 Июня 2014, 12:06:35
от admin
Многоуровневое меню PHP + Модуль меню

Автор StanlyBSVРаздел Шаблоны PHP

Ответов: 0
Просмотров: 2439
Последний ответ 10 Августа 2017, 20:42:18
от StanlyBSV
Модуль "Пользователи" и Loginza

Автор chiken_bobРаздел Разработка модулей

Ответов: 11
Просмотров: 9217
Последний ответ 10 Октября 2011, 15:33:48
от admin
Модуль "Файловый менеджер"

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

Ответов: 3
Просмотров: 3732
Последний ответ 24 Апреля 2012, 21:39:01
от admin
Модуль "Отложенные товары" для UMI.CMS

Автор e.ioffeРаздел Разработка модулей

Ответов: 5
Просмотров: 5604
Последний ответ 09 Мая 2014, 00:41:54
от e.ioffe

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

*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
Модуль обратная связь.
« : 01 Ноября 2011, 00:17:35 »
У меня два разных шаблона обратной связи, в админке в шаблоне прописано что один привязан к одной форме, а другой шаблон к другой и каждая форма привязана к разным спискам адресов, на странице же стоит выбор списка адресов, а мне это не надо, как можно это убрать?

Администрация подсказала так: Выбор списка адресов появляется в том случае, когда для этой формы не указан ID получателя. Проверьте, выполняется ли это условие.

Открываю файл /Xslttpls/modules/webforms/add.xsl я так понимаю там что-то править, но что?
И маленькая проблемка, как можно капчу сделать для всех пользователей? чтобы все ее вводили и видели.

*

grave

  • *****
  • 32
  • +4/-0
    • Просмотр профиля
    • Студия Webartika
Re:Модуль обратная связь.
« Ответ #1 : 01 Ноября 2011, 18:42:26 »
<form method="post" action="/webforms/send/" id="my-webform" onsubmit="saveFormData(this); return true;">
   ...
   <input type="hidden" name="system_email_to" value="334" />
   ...
</form>

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #2 : 01 Ноября 2011, 20:10:36 »
если ты вставляешь форму таким образом <xsl:apply-templates select="document('udata://webforms/add/130/694')/udata" /> (то есть указывая id адресата)

то если мы говорим о default файлах сайта demodizzy, то в файле /xsltTpls/modules/webforms/add.xsl, в шаблоне  <xsl:template match="udata[@module = 'webforms'][@method = 'add']"> надо внутрь тегов <form>... </form> добавить вот такую строчку <xsl:value-of select="address_select" disable-output-escaping="yes" />, тогда все ок будет)

*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #3 : 02 Ноября 2011, 23:29:06 »
<form method="post" action="/webforms/send/" id="my-webform" onsubmit="saveFormData(this); return true;">
   ...
   <input type="hidden" name="system_email_to" value="334" />
   ...
</form>
Поместил в файл add.xsl не заработал

если ты вставляешь форму таким образом <xsl:apply-templates select="document('udata://webforms/add/130/694')/udata" /> (то есть указывая id адресата)

то если мы говорим о default файлах сайта demodizzy, то в файле /xsltTpls/modules/webforms/add.xsl, в шаблоне  <xsl:template match="udata[@module = 'webforms'][@method = 'add']"> надо внутрь тегов <form>... </form> добавить вот такую строчку <xsl:value-of select="address_select" disable-output-escaping="yes" />, тогда все ок будет)
говорим о default файлах сайта demodizzy, поместил так же в файл add.xsl, опять не заработал, вот конструкция моя:

	<xsl:template match="udata[@module = 'webforms'][@method = 'add']">
<form method="post" action="{$lang-prefix}/webforms/send/" onsubmit="site.forms.data.save(this); return site.forms.data.check(this);" enctype="multipart/form-data">
                        <xsl:value-of select="address_select" disable-output-escaping="yes" />
<xsl:apply-templates select="items" mode="address" />
<xsl:apply-templates select="groups/group" mode="webforms" />
<input type="hidden" name="system_form_id" value="{/udata/@form_id}" />
<input type="hidden" name="ref_onsuccess" value="/webforms/posted/" />
<div class="form_element">
<xsl:apply-templates select="document('udata://system/captcha/')/udata" />
</div>
<div class="form_element">
<input type="submit" class="button" value="Отправить" />
</div>
</form>
</xsl:template>


*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #4 : 02 Ноября 2011, 23:30:30 »
В файл меняем строчку
	<xsl:template match="items[count(item) &gt; 1]" mode="address">
<div class="form_element">
<label class="required">
<span><xsl:text>Кому отправить:</xsl:text></span>
<select name="system_email_to">
<option value=""></option>
<xsl:apply-templates select="item" mode="address_select" />
</select>
</label>
</div>
</xsl:template>

На эту и все работает
У меня так заработала

  <xsl:template match="items[count(item) &gt; 1]" mode="address">  
    <div class="form_element">
      <label class="required">
        <span>
          <xsl:text>Кому отправить:</xsl:text>
        </span>
        <xsl:choose>
          <xsl:when test="item[@selected = 'selected']">
            <input type="hidden" name="system_email_to" value="{item[@selected = 'selected']/@id}" />
          </xsl:when>
          <xsl:otherwise>
            <select name="system_email_to">
              <option value=""></option>
              <xsl:apply-templates select="item" mode="address_select" />
            </select>
          </xsl:otherwise>
        </xsl:choose>
      </label>
    </div>
  </xsl:template>

*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #5 : 03 Ноября 2011, 08:37:09 »
Что не так я делаю?

Создал форму обратной связи, в ней какое-то кол-во полей
и созданном шаблоне прописал все %индификаторы%
Но вот когда приходит письмо с сайта, вместо некоторых заполненных полей, приходят имена идентификаторов.
 
Пример:
 
Запрос прайс-листа
Компания: %kompaniya%
E-mail: dsfg@dfgsh.ru
Персона: %persona%
Телефон: %telefon_price%
Текст: dfh sdfhg esfge rg

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #6 : 03 Ноября 2011, 09:59:38 »
насчет шаблоны для вывода формы:

использую такой код, форма отрабатывает на ура (может версии разные системы)
<xsl:template match="udata[@module = 'webforms'][@method = 'add']">
<form method="post" action="{$lang-prefix}/webforms/send/" onsubmit="site.forms.data.save(this); return site.forms.data.check(this);" enctype="multipart/form-data">

<xsl:apply-templates select="items" mode="address" />
<xsl:apply-templates select="groups/group" mode="webforms" />
<input type="hidden" name="system_form_id" value="{/udata/@form_id}" />
<input type="hidden" name="ref_onsuccess" value="/webforms/posted/" />
<xsl:value-of select="address_select" disable-output-escaping="yes" />

<xsl:apply-templates select="document('udata://system/captcha/')/udata" />
                        <input type="submit" class="submit" value="Отправить!" />


</form>
</xsl:template>

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

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #7 : 17 Января 2013, 11:58:18 »
У меня похожая проблема. В общем имеется один шаблон для нескольких форм. В каждой форме отображается выбор адресата, причем сам список пуст. Как убрать этот выбор адресата?
« Последнее редактирование: 17 Января 2013, 12:32:43 от aizul »

*

niakriss

  • ***
  • 190
  • +2/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #8 : 17 Января 2013, 17:26:07 »
у вас на странице формы в визивиге видимо макрос прописан.. его надо удалить.. а форму в xslt надо делать самому.

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #9 : 18 Января 2013, 08:18:14 »
у вас на странице формы в визивиге видимо макрос прописан.. его надо удалить.. а форму в xslt надо делать самому.
Что такое визивиг? Имеете ввиду макрос в самом контенте страницы? Макроса там нет. Форма уже сделана.

*

niakriss

  • ***
  • 190
  • +2/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #10 : 18 Января 2013, 11:16:13 »
да... визивиг это поле для занесения контента... кну я ообще не пользуюсь страницей с формой... это неудобно.. я делаю так... беру обычную страницу... предположим с id 46... в шаблонах пишу для нее <xsl:template match="result[page/@id='46']" >
ну и расписываю что да как на ней должно отображаться...
далее вставляю форму в нужное место:
<xsl:apply-templates select="document('udata://webforms/add/111/396')/udata" mode="mywebform"/> // 111 - id самой формы(а не страницы с формой, а  396 - id адресата)
а в
<xsl:template match="udata[@module = 'webforms'][@method = 'add']" mode="mywebform">
описываю как должна выглядить форма.... например одно из полей может выглядеть так:
<div class="field"><input type="text" name="data[new][telefon]"/></div>
где telefon это название поля, которое вы создавали в админке

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #11 : 18 Января 2013, 11:44:24 »
aizul, давайте все по порядку. Проверяйте у себя по-пунктам

1. у вас есть сами email адреса в модуле "Обратная связь", вкладка "адрес" (убедитесь, что адрес, который вы планируете потом использовать имел все 3 поля заполненными [название, описание, адрес email])
2. переходим на вкладку "Формы" того же модуля и, перейдя в режим редактирования интересующей нас формы, проверяем что у неё назначен адрес, который она будет использовать (это выпадающий список в самом начале страницы для редактирования формы). Если это поле заполнено, то нет нужды при вызове макроса webforms add() указывать помимо id формы еще и id email адреса (как написала выше niakriss).
3. далее при вызове макроса webforms add у нас будет применяться xslt шаблон, в котором необходимо вывести скрытый input с id email адрес. Обычно срабатывает строчка <xsl:value-of select="address_select" disable-output-escaping="yes" /> (см. мой пример выше). Если нет, то вставьте код <xsl:copy-of select="."/> и посмотрите, что вообще вам возвращает макрос webforms add()

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #12 : 21 Января 2013, 12:15:22 »
Емейл адреса указаны, а по второму пункту, не нашел я этого выпадающего списка. Вот скрин:

*

niakriss

  • ***
  • 190
  • +2/-0
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #13 : 25 Января 2013, 12:09:16 »
по идее справа от поля Имя формы должно быть поле Адрес получателя... и там выбрать адрес получателя..
 
Попробуйте добавить еще одного адресата... только все поля заполняйте.. не оставляете пустыми..
« Последнее редактирование: 25 Января 2013, 12:11:02 от niakriss »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Модуль обратная связь.
« Ответ #14 : 25 Января 2013, 15:12:49 »
а может у вас версия более старая? По-моему, только с 2.8 появилось это поле.