<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>
В файл меняем строчку
<xsl:template match="items[count(item) > 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) > 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>
насчет шаблоны для вывода формы:
использую такой код, форма отрабатывает на ура (может версии разные системы)
<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>
насчет шаблона письма, которое отправляется администратору при использовании формой обратной связи:
все выглядит верным, сверте к какой форме прикреплен шаблон и правильно ли написаны названия полей
Недавно установил UMI
Версия 2.9.5
Слева всегда висит кнопка "Обратная связь"
Она имеет 3 поля без названия и кнопку отправить.
В админке прописывал mail, но при отправке никуда ничего не приходило.
Нашел код в файле
/library/system.xsl
<xsl:template name="order_button">
<xsl:param name="empty-image">/base-img/feedback_button.jpg</xsl:param>
<xsl:if test="not($infoPagePreferences/property[@name = 'disabled_feedback']/value = 1)">
<a id="main_big_order_button" class="callback" href="#ajax#ajax-order-form.{$pageId}.ajax" title="{$infoPageForm/property[@name = 'order_form_title']/value}">
<xsl:variable name="path">
<xsl:choose>
<xsl:when test="$infoPageForm/property[@name = 'order_button_img']/value">
<xsl:value-of select="$infoPageForm/property[@name = 'order_button_img']/value"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$empty-image"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="thumbnail" select="document(concat('udata://custom/makeThumbnailSqueeze/(.',$path,')/60/auto/void/0/7/'))/udata"/>
<div class="thumbnail_holder" umi:element-id="{$infoPageId}" umi:field-name="order_button_img" umi:field-type="img_file" style="max-width:60px;width:{$thumbnail/width}px;height:{$thumbnail/height}px;background-image:url({$thumbnail/src})" rel="{$thumbnail/src}"></div>
</a>
</xsl:if>
</xsl:template>
и продолжение в файле /sys-tpls/ajax-templates.xsl
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:umi="http://www.umi-cms.ru/TR/umi">
<xsl:template match="udata" mode="ajax-order-form">
<div id="order_form_wrapper">
<div id="order_form_title" umi:field-name="order_form_title" umi:field-type="string" umi:empty="∅" umi:element-id="{$infoPageId}">
<xsl:value-of select="$infoPageForm/property[@name = 'order_form_title']/value" />
</div>
<xsl:if test="$ajaxIsAdmin = 1">
<div class="admin-info">
<div class="hidden-text">
<p>&order-form-admin-text;</p>
</div>
</div>
</xsl:if>
<form id="order_form" method="post">
<fieldset>
<input type="hidden" value="http://{$domain}{page/@link}" name="page_link"/>
<input type="hidden" value="{$domain}" name="domain"/>
<input type="hidden" value="{$infoPageForm/property[@name = 'order_name_title']/value}" name="order_name_title"/>
<input type="hidden" value="{$infoPageForm/property[@name = 'order_phone_title']/value}" name="order_phone_title"/>
<input type="hidden" value="{$infoPageForm/property[@name = 'order_message_title']/value}" name="order_message_title"/>
<table>
<tbody>
<tr class="fieldset_div order_name">
<td>
<div class="label" umi:field-name="order_name_title" umi:field-type="string" umi:empty="∅" umi:element-id="{$infoPageId}">
<xsl:value-of select="$infoPageForm/property[@name = 'order_name_title']/value" />
</div>
</td>
<td class="order_form_value">
<input type="text" name="order_name"/>
<div class="order_form_error_text">
&order-form-error-text;
</div>
</td>
</tr>
<tr class="fieldset_div order_phone">
<td>
<div class="label" umi:field-name="order_phone_title" umi:field-type="string" umi:empty="∅" umi:element-id="{$infoPageId}">
<xsl:value-of select="$infoPageForm/property[@name = 'order_phone_title']/value" />
</div>
</td>
<td class="order_form_value">
<input type="text" name="order_phone"/>
<div class="order_form_error_text">
&order-form-error-text;
</div>
</td>
</tr>
<tr class="fieldset_div order_message">
<td>
<div class="label" umi:field-name="order_message_title" umi:field-type="string" umi:empty="∅" umi:element-id="{$infoPageId}">
<xsl:value-of select="$infoPageForm/property[@name = 'order_message_title']/value" />
</div>
</td>
<td class="order_form_value">
<textarea name="order_message"/>
<div class="order_form_error_text">
&order-form-error-text;
</div>
</td>
</tr>
<tr>
<td class="order_submit_table_tr" colspan="2">
<table class="order_submit_table">
<tbody>
<tr>
<td>
<div class="order_form_success" umi:field-name="order_form_success" umi:field-type="string" umi:empty="∅" umi:element-id="{$infoPageId}">
<xsl:value-of select="$infoPageForm/property[@name = 'order_form_success']/value" />
</div>
</td>
<td>
<a id="order_submit" class="all_system_buttons" title="&send;">&send;</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</fieldset>
</form>
</div>
</xsl:template>
</xsl:stylesheet>
Помогите разобраться в нём.
Кто-нибудь может выложить рабочий шаблон add.xsl
Попробовал отдельно на странице подключить форму
<xsl:apply-templates select="document('udata://webforms/add/122')/udata" />
файл add.xsl
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:umi="http://www.umi-cms.ru/TR/umi">
<xsl:template match="udata[@module = 'webforms'][@method = 'add']">
<form method="post" action="{$lang-prefix}/webforms/send/" class="site_form feedback_form" onsubmit="site.forms.data.save(this); return site.forms.data.check(this);" enctype="multipart/form-data">
<fieldset>
<input type="hidden" name="system_form_id" value="{@form_id}" />
<input type="hidden" name="ref_onsuccess" value="/webforms/posted/" />
<xsl:apply-templates select="items" mode="address" />
<xsl:apply-templates select="groups/group/field" />
<xsl:apply-templates select="document('udata://system/captcha/')/udata" />
</fieldset>
<fieldset>
<div class="submit">
<input type="submit" class="all_system_buttons" value="&send;" />
</div>
</fieldset>
</form>
</xsl:template>
<xsl:template match="udata[@module = 'webforms'][@method = 'add']" mode="feedback">
<form method="post" action="/webforms/send/" class="site_form feedback_form">
<fieldset>
<input type="hidden" name="system_form_id" value="{@form_id}" />
<input type="hidden" name="ref_onsuccess" value="/webforms/posted/" />
<xsl:apply-templates select="items" mode="address" />
<div class="required field field_autor">
<label>
<span>&feedback-autor;:</span>
<span class="required_star" title="&required-text;" ><span class="required_star_text">*</span></span>
</label>
<div class="field_div input">
<input name="data[new][autor]" value="" type="text"/>
</div>
<div class="webforms_error_text">
&webforms-error-text;
</div>
</div>
<div class="required field field_email">
<label>
<span>&feedback-email;:</span>
<span class="required_star" title="&required-text;" ><span class="required_star_text">*</span></span>
</label>
<div class="field_div input">
<input name="data[new][email]" value="" type="text"/>
</div>
<div class="webforms_error_text">
&webforms-error-text;
</div>
<div class="email_error_text">
&email-error-text;
</div>
</div>
<div class="required field field_theme">
<label>
<span>&feedback-theme;:</span>
<span class="required_star" title="&required-text;" ><span class="required_star_text">*</span></span>
</label>
<div class="field_div input">
<input name="data[new][theme]" value="" type="text"/>
</div>
<div class="webforms_error_text">
&webforms-error-text;
</div>
</div>
<div class="required field field_message">
<label>
<span>&feedback-message;:</span>
<span class="required_star" title="&required-text;" ><span class="required_star_text">*</span></span>
</label>
<div class="field_div textarea">
<textarea name="data[new][message]"></textarea>
</div>
<div class="webforms_error_text">
&webforms-error-text;
</div>
</div>
<xsl:apply-templates select="document('udata://system/captcha/')/udata" />
</fieldset>
<fieldset>
<div class="submit">
<input type="submit" class="all_system_buttons" value="&send;" />
</div>
</fieldset>
</form>
</xsl:template>
<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) > 1]" mode="address">
<xsl:choose>
<xsl:when test="count(item[@selected='selected']) != 1">
<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:when>
<xsl:otherwise>
<xsl:apply-templates select="item[@selected='selected']" mode="address" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="item" mode="address_select">
<option value="{@id}"><xsl:apply-templates /></option>
</xsl:template>
</xsl:stylesheet>
После установки UMI, в шаблонах webforms не правил ничего.
Письма вообще не приходят. Из-за чего может быть?
Хостеры что-то сделали, заработало.
Подскажите.
Вывожу форму в файле /layouts/default.xsl
<xsl:apply-templates select="document('udata://webforms/add/122')/udata" />
Все выводит, работает.
Вывожу в файле /sys-tpls/ajax-templates.xsl
<xsl:template match="udata" mode="ajax-order-form">
<div id="order_form_wrapper">
<xsl:apply-templates select="document('udata://webforms/add/122')/udata" />
</div>
</xsl:template>
Формы нет, только слово "почта"
Как правильно вызвать?