Форма 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="y"
- charset="utf-8"
- recipients="you@example.com"
- redirect="5"
- replyto="y"
- return="http://www.example.com/index.php"
- status="open"
- weblog="news"
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=.