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

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

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

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

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

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

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

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

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

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

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

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

*

danger

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Модуль обратная связь demodizzy
« : 10 Июль 2015, 09:51:04 »
Добрый день,помогите!!  Вот что делаю, переношу из demodizzy папку webforms к себе в шаблон сайта(в админке адрес, форма, страница созданы - в первоначальном виде все работает) т.к. каждому заполняемому полю нужно добавить свою иконку, то открываю add.xsl в папке webforms, убираю строчку:
Цитировать
<xsl:apply-templates select="groups/group" mode="webforms" />

и меняю этот кусок кода:
<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="{$lang-prefix}/webforms/posted/{/udata/@form_id}/" />
<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>

 на этот:

	<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" />

<input type="hidden" name="system_form_id" value="{/udata/@form_id}" />
<input type="hidden" name="ref_onsuccess" value="{$lang-prefix}/webforms/posted/{/udata/@form_id}/" />

  <div class="form_element">
<input name="data[new][name]"/>
</div>

<div class="form_element">
<input name="data[new][phone]"/>
</div>

<div class="form_element">   
<input name="data[new][email]" />
</div>

<div class="form_element">
<textarea name="data[new][comment]" />
</div>

<div class="form_element">
<input type="submit" class="button" value="Отправить заявку" />
</div>
</form>

</xsl:template>

что пишу не так, локально на OpenServer измененная форма работает и письма приходят, переношу на хост, форма есть, а письма не отправляются.
« Последнее редактирование: 10 Июль 2015, 09:59:11 от danger »

*

danger

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Re: Модуль обратная связь demodizzy
« Ответ #1 : 16 Июль 2015, 16:30:40 »
этот кусок кода
<xsl:template match="field" mode="webforms">
<div class="form_element">
<label>
<xsl:apply-templates select="." mode="webforms_required" />
<span><xsl:value-of select="@title" /><xsl:text>:</xsl:text></span>
<xsl:apply-templates select="." mode="webforms_input_type" />
</label>
</div>
</xsl:template>
<xsl:template match="field" mode="webforms_input_type">
<input type="text" name="{@input_name}" class="textinputs" />
</xsl:template>
<xsl:template match="field[@type = 'text' or @type='wysiwyg']" mode="webforms_input_type">
<textarea name="{@input_name}"></textarea>
</xsl:template>

заменяем на этот код
<xsl:template match="field" mode="webforms">
<div class="form_element">
<xsl:apply-templates select="." mode="webforms_required" />
<xsl:apply-templates select="." mode="webforms_input_type" />
</div>
</xsl:template>
<xsl:template match="field[@title = 'Имя']" mode="webforms_input_type">
<div class=""><input type="text" name="{@input_name}" class="" placeholder="Имя"/></div>
</xsl:template>
<xsl:template match="field[@title = 'Телефон']" mode="webforms_input_type">
<div class=""><input type="text" name="{@input_name}" class="" placeholder="Телефон" /></div>
</xsl:template>
<xsl:template match="field[@title = 'E-mail']" mode="webforms_input_type">
<div class=""><input type="text" name="{@input_name}" class="" placeholder="Email"/></div>
</xsl:template>
<xsl:template match="field[@type = 'text' or @type='wysiwyg']" mode="webforms_input_type">
<div id="textarea"><textarea type="text" name="{@input_name}" class="" placeholder="Комментарий"></textarea></div>
</xsl:template>

Теперь к каждому полю можно применить свой стиль. Надеюсь, кому-нить пригодится. А у меня уже новый вопрос!!
« Последнее редактирование: 16 Июль 2015, 16:33:36 от danger »

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re: Модуль обратная связь demodizzy
« Ответ #2 : 20 Июль 2015, 13:41:52 »
локально на OpenServer измененная форма работает и письма приходят, переношу на хост, форма есть, а письма не отправляются.

Ваш пторой пост безуловно прекрасней решают первоначальную проблему, а по поводу того, почему не работало. Скорее всего из-за того что вы потеряли вывод капчи
<div class="form_element">
<xsl:apply-templates select="document('udata://system/captcha/')/udata" />
</div>
и если вы тестируете на хостинге не под админом, то система ожидает капчи , а если у вас к тому же не выводятся ошибки при отправке формы, то вас перебрасывает обратно на страницу формы и ничего нигде не пишется.