Почтовая форма Topic is solved

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

vad47

Почтовая форма

Post by vad47 »

Господа, помогите бестолковому. Второй день бьюсь, не могу установить почтовую форму. Дайте пожалуйста пример готового кода, чотбы на странице я смог увидеть простейшую форму для отправки email.
Last edited by vad47 on Tue Oct 19, 2010 7:51 am, edited 1 time in total.
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: Почтовая форма

Post by Fenik17 »

Нужно установить модуль FormBuilder (Конструктор форм), вместе с ним есть и примеры.
Там есть довольно подробная справка по работе с модулем.
Модуль здесь: http://dev.cmsmadesimple.org/projects/formbuilder/
Читать для начала это: http://www.icms.info/website-addons/contact-form
vad47

Re: Почтовая форма

Post by vad47 »

Спасибо, кажется разобрался, форма появилась, правда письма еще не доходят  :).
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: Почтовая форма

Post by Fenik17 »

Чтобы приходили, нужно правильно настроить CMSMailer.
vad47

Re: Почтовая форма

Post by vad47 »

Еще раз спасибо, все работает. Единственное не понял как перевести название полей на русский. Команда ‘ru_RU’ ничего не решает. Пробовал переименовывать поля вручную, пропадает часть функций.
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: Почтовая форма

Post by Fenik17 »

В "Имя поля:" надо вводить русские названия полей.
vad47

Re: Почтовая форма

Post by vad47 »

К сожалению этот вариант не решает задачи полного перевода всех граф почтовой формы, к тому-же у меня нарушается работа страницы уведомления (по умолчанию, появляется после отправки сообщения), отчет по тем полям которые были переименованы на русский, остаются пустыми.
hippycore
Forum Members
Forum Members
Posts: 19
Joined: Wed Oct 20, 2010 8:38 am

Re: Почтовая форма

Post by hippycore »

Какая версия модуля у вас стоит?
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: Почтовая форма

Post by Fenik17 »

Полям формы нужно присваивать алиасы (Field Alias), которые уже использовать в шаблоне формирования письма (Email Template) для поля Send To.

К примеру, в форме http://domeko-ural.ru/kontakty/ используется такой шаблон письма:

Code: Select all

<p>Сообщение, отправленное через форму обратной связи на сайте {$sub_host}</p>
<strong>Дата:</strong>: {$sub_date}<br />
<strong>IP-адрес отправителя</strong>: {$sub_source_ip}<br />
<br /> 

<hr />
{if $sender != "" && $sender != "[unspecified]" }<strong>ФИО</strong>: {$sender}<br />{/if}
{if $firm != "" && $firm != "[unspecified]" }<strong>Фирма</strong>: {$firm}<br />{/if}
{if $phone != "" && $phone != "[unspecified]" }<strong>Телефон</strong>: {$phone}<br />{/if}
{if $frommail != "" && $frommail != "[unspecified]" }<strong>Эл. почта</strong>: {$frommail}<br />{/if}
{if $message != "" && $message != "[unspecified]" }<strong>Текст сообщения</strong>:<br /> {$message}{/if}
<hr />
Как видно - все поля заданы алиасами, все корректно подставляются.
vad47

Re: Почтовая форма

Post by vad47 »

hippycore wrote: Какая версия модуля у вас стоит?
FormBuilder 0.6.4
vad47

Re: Почтовая форма

Post by vad47 »

Fenik17 wrote: Полям формы нужно присваивать алиасы (Field Alias), которые уже использовать в шаблоне формирования письма (Email Template) для поля Send To.

К примеру, в форме http://domeko-ural.ru/kontakty/ используется такой шаблон письма:

Code: Select all

<p>Сообщение, отправленное через форму обратной связи на сайте {$sub_host}</p>
<strong>Дата:</strong>: {$sub_date}<br />
<strong>IP-адрес отправителя</strong>: {$sub_source_ip}<br />
<br /> 

<hr />
{if $sender != "" && $sender != "[unspecified]" }<strong>ФИО</strong>: {$sender}<br />{/if}
{if $firm != "" && $firm != "[unspecified]" }<strong>Фирма</strong>: {$firm}<br />{/if}
{if $phone != "" && $phone != "[unspecified]" }<strong>Телефон</strong>: {$phone}<br />{/if}
{if $frommail != "" && $frommail != "[unspecified]" }<strong>Эл. почта</strong>: {$frommail}<br />{/if}
{if $message != "" && $message != "[unspecified]" }<strong>Текст сообщения</strong>:<br /> {$message}{/if}
<hr />
Как видно - все поля заданы алиасами, все корректно подставляются.
Спасибо за подробное разъяснение, попробую, отпишусь по результатам.
User avatar
Dominikus
Forum Members
Forum Members
Posts: 31
Joined: Mon Oct 05, 2009 12:33 pm

Re: Почтовая форма

Post by Dominikus »

Если бы пример еще шаблончика самой формы, легче новичкам было бы разобраться :)
Буду признателен!
Fenik17 wrote: Полям формы нужно присваивать алиасы (Field Alias), которые уже использовать в шаблоне формирования письма (Email Template) для поля Send To.

К примеру, в форме http://domeko-ural.ru/kontakty/ используется такой шаблон письма:

Code: Select all

<p>Сообщение, отправленное через форму обратной связи на сайте {$sub_host}</p>
<strong>Дата:</strong>: {$sub_date}<br />
<strong>IP-адрес отправителя</strong>: {$sub_source_ip}<br />
<br /> 

<hr />
{if $sender != "" && $sender != "[unspecified]" }<strong>ФИО</strong>: {$sender}<br />{/if}
{if $firm != "" && $firm != "[unspecified]" }<strong>Фирма</strong>: {$firm}<br />{/if}
{if $phone != "" && $phone != "[unspecified]" }<strong>Телефон</strong>: {$phone}<br />{/if}
{if $frommail != "" && $frommail != "[unspecified]" }<strong>Эл. почта</strong>: {$frommail}<br />{/if}
{if $message != "" && $message != "[unspecified]" }<strong>Текст сообщения</strong>:<br /> {$message}{/if}
<hr />
Как видно - все поля заданы алиасами, все корректно подставляются.
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: Почтовая форма

Post by Fenik17 »

Code: Select all

<p id="form_header">Напишите нам</p>
{$fb_form_header}
{if $fb_form_done == 1}
	{* This first section is for displaying submission errors *}
	{if isset($fb_submission_error) && $fb_submission_error}
		<div class="error_message">{$fb_submission_error}</div>
		{if isset($fb_show_submission_errors) && $fb_show_submission_errors}
			<div class="error">
			<ul>
			{foreach from=$fb_submission_error_list item=thisErr}
				<li>{$thisErr}</li>
			{/foreach}
			</ul>
		</div>
		{/if}
	{/if}
{else}
	{* this section is for displaying the form *}
	{* we start with validation errors *}
	{if isset($fb_form_has_validation_errors) && $fb_form_has_validation_errors}
		<div class="error_message">
		<ul>
		{foreach from=$fb_form_validation_errors item=thisErr}
			<li>{$thisErr}</li>
		{/foreach}
		</ul>
		</div>
	{/if}
	{if isset($captcha_error) && $captcha_error}
		<div class="error_message">{$captcha_error}</div>
	{/if}

	{* and now the form itself *}
	{$fb_form_start}
	<div>{$fb_hidden}</div>
	<div{if $css_class != ''} class="{$css_class}"{/if}>
	{if $total_pages gt 1}<span>{$title_page_x_of_y}</span>{/if}
	{foreach from=$fields item=entry}
		{if $entry->display == 1}
        	{strip}
         	{if $entry->needs_div == 1}
            	<div
            	{if $entry->required == 1 || $entry->css_class != '' || $entry->valid == 0} class="
              		{if $entry->required == 1}required{/if}
              		{if $entry->css_class != ''} {$entry->css_class}{/if}
                    {if $entry->valid == 0} fb_invalid{/if}
              		"
            	{/if}
				{if $entry->css_class == 'text'} id="text"{/if}
            	>
         	{/if}
         	{if $entry->hide_name == 0}
            	<label{if $entry->multiple_parts != 1} for="{$entry->input_id}"{/if}>{$entry->name}
            	{if $entry->required_symbol != ''}
               		{$entry->required_symbol}
            	{/if}
            	</label>
         	{/if}
         	{if $entry->multiple_parts == 1}
            	{section name=numloop loop=$entry->input}
               		{if $entry->label_parts == 1}
               			<div>{$entry->input[numloop]->input} {$entry->input[numloop]->name}</div>
               		{else}
               			{$entry->input[numloop]->input}
               		{/if}
               		{if isset($entry->input[numloop]->op) && $entry->input[numloop]->op}{$entry->input[numloop]->op}{/if}
            	{/section}
         	{else}
            	{if $entry->smarty_eval == '1'}{eval var=$entry->input}{else}{$entry->input}{/if}
         	{/if}
         	{if $entry->valid == 0} <--- {$entry->error}{/if}
         	{if $entry->needs_div == 1}
            	</div>
         	{/if}
         	{/strip}
     	{/if}
	{/foreach}
	{if $has_captcha == 1}
		<div class="captcha">{$graphic_captcha}{$title_captcha}<br />{$input_captcha}</div>
	{/if}
	<div class="submit">{$prev}{$submit}</div>
	</div>
	{$fb_form_end}
{/if}
{$fb_form_footer}
Стили примерно такие, если надо (но, скорее всего, зависят от основных, не помню уже):

Code: Select all

/* contact form */

form {margin:0 0 0 0;}
form, td, th, li { font-size: 100%}
form div {margin: 0 0 8px 0; padding: 0;}
.contactform input, textarea {border: 1px solid #888;}
.submit {margin-top:0.5em}
.contactform input {margin-left: 10px;width: 350px;}
.contactform input.checkbox {border: none;}
.contactform label {float: left;width: 70px;color: #777;}
#text label {display: block;width: 100%;margin-bottom: 6px;}
.contactform textarea {height: 180px;width: 430px;}
.formbuilderform .message {line-height: 16px;padding: 0 0 8px 0;}
textarea:focus, input:focus {border-color: red;}
.submit {margin-top:10px;}
.submit input {width: 110px;margin-left: 0;border-width: 0;height: 29px;cursor: pointer;}
#form_header {display: block;margin: 20px 0 15px 0;width: 421px;}
#form_header, .submit input {font-family:  Arial, Tahoma, Verdana, sans-serif;vertical-align: middle;
padding: 4px 7px;font-size: 1.3em;font-weight: bold;color: #fff;background-color: #649700;}
booka
Forum Members
Forum Members
Posts: 18
Joined: Fri Jan 17, 2014 8:58 am

Re: Почтовая форма

Post by booka »

подскажите, пожалуйста

при ошибке в заполнении формы, выводится вторая форма в другом месте по коду (там где стоит первый блок content) с указанием того, какие поля не заполненны...
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: Почтовая форма

Post by guro »

Очень сумбурно описана проблема!
Но, попробуйте в
"Pасширения" => "Конструктор форм" => "Ваша форма" => "Основные настройки" => "Main Form Details" => "Показывать форму встроенной?:" поставить галочку
Post Reply

Return to “Russian - русский”