Форма tell-a-friend

ПРИМЕЧАНИЕ: Модуль email не установлен по умолчанию, поэтому перед использованием этих тегов убедитесь, что он установлен на странице модулей.

Этот тег выводит на экран форму, которая используется, чтобы отправить кому-нибудь письмо о понравившейся записи. Для отображения формы tell-a-friend используется следующий парный тег:

{exp:email:tell_a_friend}

{/exp:email:tell_a_friend}

Форма tell-a-friend создается подобно стандартной веб форме, только вы не должны указывать открывающий и закрывающий теги формы; ExpressionEngine создает их автоматически.

Есть множество возможных вариантов для этой функции (доступных с помощью параметров и переменных, описанных ниже). Ниже приведен пример использования формы tell-a-friend:

{exp:email:tell_a_friend charset="utf-8" allow_html='n'}

<p><label for="from">Your Email: </label><br />
<input type="text" id="from" name="from" size="40" maxlength="35" value="{member_email}" /></p>

<p><label for="name">Your Name: </label><br />
<input type="text" id="name" name="name" size="40" maxlength="35" value="{member_name}" /></p>

<p><label for="to">To: </label><br />
<input type="text" id="to" name="to" size="40" maxlength="35" /></p>

<p><label for="subject">Subject: </label><br />
<input type="text" id="subject" name="subject" size="40" value="Entry by: {author}" /></p>

<p><label for="message">Message: </label><br />
<textarea id="message" name="message" readonly="readonly" rows="18" cols="40">
{summary}
{body}
{permalink}
</textarea></p>

<p><input name="submit" type='submit' value='Submit Form' /></p>
{/exp:email:tell_a_friend}

Ссылка на страницу tell-a-friend

Чтобы использовать возможность tell-a-friend, вам необходимо ссылаться на нее. Сначала, создайте шаблон и поместите код формы tell-a-friend в этом шаблоне.

Вам необходимо создать ссылку на ваш новый шаблон tell-a-friend из ваших записей раздела. В вашем теге {exp:weblog:entries} вы должны указать на него, используя переменную permalink:

<a href="{permalink=weblog/friend}">Tell-a-Friend</a>

В вышеупомянутом примере, шаблон "friend" содержит форму tell-a-friend.

Параметры

allow_html=

allow_html="y" allow_html="<p>,<a>" allow_html="n"

Переменные weblog entry (смотрите переменные раздела ниже) форматируются согласно формату, определенному при публикации записи, поэтому есть возможность выводить HTML. С помощью этого параметра можно выбрать один из вариантов, сохранять ли HTML в полях формы, разрешать только определенные теги HTML (указывая теги в списке, и разделяя их запятыми), или запретить любой код HTML. Если HTML разрешен, то электронная почта будет отправляться в формате HTML.

charset=

charset="utf-8"

С помощью этого параметра вы можете установить необходимую кодировку символов для отправляемого сообщения электронной почты. Используйте этот параметр, если шаблон вашей формы использует кодировку символов, отличную от iso-8859-1.

recipients=

recipients="admin@example.com"

Вы можете определить скрытых получателей для формы. Это получатели отправляемой информации. Вы можете указать несколько получателей, разделяя их запятой:

recipients="admin@example.com,ceo@example.com,president@example.com"

Примечание: В случае, когда получатели указаны в этом параметре и стандартное поле "Кому" также заполнено, то получателям, определенным в этом параметре письма будут отправляться с использованием поля BCC (скрытая копия), для того, чтобы получатели, указанные в поле "Кому:", не видели этих "скрытых" получателей email.

redirect=

redirect="5"

После того, как форма отправлена, пользователю будет показана страница, информирующая, что сообщение было успешно отправлено. В этом параметре вы можете определить, как долго ExpressionEngine будет отображать эту страницу. Значение этого параметра указывается в секундах. Например, если вы хотите отображать сообщение шесть секунд, вы должны использовать

redirect="6"

Также, вы можете указать ExpressionEngine, не переадресовывать пользователя после того, как он отправил сообщение. В этом случае, пользователь просто остается на странице сообщения. Чтобы реализовать это, установите значение параметра none:

redirect="none"

replyto=

replyto="y"

По умолчанию адрес отправителя электронной почты будет вставлен в письмо из заголовка формы. Если значение параметра установлено "y", то этот адрес электронной почты будет помещен в поле "Ответ:", а адрес веб мастера сайта будет вставлен в поле "От:" заголовка. Иногда это бывает необходимо, так как некоторые почтовые серверы не будут отправлять электронную почту с адресом не своего домена, таким образом, ExpressionEngine будет использовать адрес электронной почты веб мастера сайта, чтобы обойти это ограничение, в тоже время, гарантируя, что любой ответ будет отправлен на нужный адрес.

return=

return="http://www.example.com/index.php"

Этот параметр определяет, куда будет направлен пользователь после отправки формы. После отправки сообщения пользователю отображается стандартное сообщение "спасибо" и ссылка. Параметр return указывает адрес, а также текст для этой ссылки. Если этот параметр не указан, то ссылка будет указывать на страницу, с которой пользователь перешел на форму электронной почты, а текстом для ссылки будет название сайта.

URL возврата и текст ссылки должны разделяться символом ("|"). Если вы указываете только вторую часть (текст ссылки), то перед ней вы должны ввести символ ("|"). Примеры допустимых способов указания параметра:

return="http://www.example.com/index.php" return="http://www.example.com/index.php|Home Page" return="|Return to the Entry"

status=

status="open"

Статусы раздела, которыми вы желаете ограничить записи. Параметр может понадобиться, если вы будете показывать записи со статусом, отличным от "open". Вы можете указать несколько статусов, разделяя их символом ("|"):

status="draft|reviewed|published"

Или исключите некоторые статусы, используя "not"

status="not submitted|processing|closed"

weblog=

weblog="news"

Укажите, из какого раздела вы разрешаете отправлять электронные письма tell-a-friend. Этот параметр полезен, если у вас есть несколько записей, с одинаковым URL заголовком в разных разделах. Если бы вы не ограничили этот тег EE отдельным разделом, то была бы возможность получать формы tell-a-friend для всех записей в любом разделе, если у них одинаковые URL заголовки.

Параметры раздела

В то время как некоторые из параметров тега weblog entries также доступны для формы tell-a-friend, большинство из них бесполезно использовать в этом контексте. За исключением одного параметра show_future_entries=, который позволяет вам использовать форму tell-a-friend с записями, датированными в будущем.

Переменные

member_email

{member_email}

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

member_name

{member_name}

Если пользователь авторизован, то эта переменная возвратит его имя (screen name), как указано в его профиле.

Переменные раздела

{title}
{permalink}
{author}
{body}
и так далее...

Многие из переменных тега weblog entries доступны в форме tell-a-friend. Исключения - все переменные, связанные с категориями и заказными полями пользователя.

Примечание: Чтобы упростить использование этой формы с несколькими разделами, для которых, возможно, будут назначены различные группы полей, все переменные раздела, которые являются незаполненными, будут игнорироваться в форме.

Например, если у вас один раздел с настроенными полями summary и body, и другой раздел с полями ingredients и directions, то вы сможете поместить следующие 'сообщения' в поле textarea: {summary} {body} {ingredients} {directions}. Если запись, связанная с формой tell-a-friend из первого раздела, то первые два поля будут заполнены, а следующие два будут игнорироваться. Если с формой tell-a-friend связана запись из второго раздела, то первые два поля будут игнорироваться, а следующие два будут заполнены.

Поля формы

captcha

<input type="text" name="captcha" value="" maxlength="20" />

Поле CAPTCHA для формы. Оно обычно используется с условным выражением, для того чтобы его можно было выводить в случае необходимости:

{if captcha}

<p>Please enter the word you see in the image below:</p>

<p>{captcha}<br />
<input type="text" name="captcha" value="" maxlength="20" /></p>

{/if}

Настройка для отключения и включения CAPTCHA в контактной форме находиться в секции настройки электронной почты панели управления.

from

<input type="text" name="from" size="40" />

Адрес электронной почты отправителя email.

ПРЕДУПРЕЖДЕНИЕ: Если вы разрешаете пользователям ввод данных в это поле, знайте, что это возможность для спамеров, которые могут использовать вашу форму, для отправки почты с поддельным обратным адресом (например, от admin@paypal.com). Если пользователю разрешено изменять еще и поле текста сообщения, то вы по существу создали форму для фишинга, готовую для злоупотреблений.

message

<textarea name="message" rows="10" cols="40"></textarea>

Текст сообщения электронной почты. Если вы не хотите, чтобы была возможность изменять текст сообщения tell-a-friend, то мы предлагаем использовать скрытое поле формы или установить поле textarea только для чтения (например: <textarea readonly="readonly"></textarea>). Вы обязательно должны включать это поле формы, даже если оно скрытое.

ПРЕДУПРЕЖДЕНИЕ: Если вы разрешаете пользователям ввод данных в это поле, знайте, что это возможность для спамеров использовать вашу форму для рекламной рассылки. Если пользователю разрешено изменять еще и поле текста сообщения, то вы по существу создали форму для фишинга, готовую для злоупотреблений.

name

<input type="text" name="name" size="40" />

Имя отправителя электронной почты.

обязательно для заполнения

<textarea name="required" rows="5" cols="40" readonly="readonly"></textarea>

Дает возможность создать поле, обязательное для заполнения информацией, которая будет включаться в каждое письмо. Полезно для электронных писем поддержки, в которых содержится скрытая информация или информация только для чтения.

subject

<input type="text" name="subject" size="40" />

Тема отправляемого электронного письма. Вы обязательно должны включать это поле формы, даже если оно скрытое.

to

<input type="text" name="to" size="40" />

Адрес получателя электронной почты. Можно указать несколько адресов, разделяя их запятой. Вы обязательно должны включать это поле формы, даже если оно скрытое. Это поле, также может быть определено, с помощью параметра тега recipients=.

Наверх страницы