Поле E-Mail

Авторы/перевод. материала
  • Dgikar
Источники материала
E-Mail - это поле, используемое для отправки сообщений / уведомлений пользователям и администраторам сайта.

Оглавление раздела:

Описание поля E-Mail

E-Mail - это поле, используемое для отправки сообщений / уведомлений пользователям и администраторам сайта.

Поле E-Mail
Поле E-Mail

Настройки поля E-Mail

Обратите внимание

Текстовые поля в настройках, могут быть заполнены несколькими значениями.

В качестве разделителей используйте:

  • Enter ( "\n" )
  • запятую ( "," )
  • или точку с запятой ( ";" )

 

Рассмотрим, форму создания поля E-Mail - по частям (основные (общие поля), такие как Title, Name, App Folder и Type - рассматриваться не будут. О них, можно узнать здесь):

Группа полей "От кого"

Группа полей 'От кого'
Группа полей
"От кого"
  • From - поле E-Mail отправителя сообщения. Есть три доступных опции:

    Поле From формы создания поля E-Mail
    Поле From формы создания поля E-Mail
    • Default - значение по умолчанию. Будут применены настройки конфигурации Joomla;
    • E-Mail - становится доступно поле From (E-Mail / Field), в котором можно указать E-Mail отправителя;
    • Field (Form) - в том же появившимся поле From (E-Mail / Field) укажите имя поля (которое есть в Вашей форме), из которого будет передано значение для подстановки;


  • From name - поле имени отправителя сообщения. Есть три доступных опции:

    field email03 pro
    Поле From name формы создания поля E-Mail
    • Default - значение по умолчанию. Будут применены настройки конфигурации Joomla;
    • Name - становится доступно поле From (Name / Field), в котором можно указать имя отправителя;
    • Field (Form) - в том же появившимся поле From (Name / Field) укажите имя поля (которое есть в Вашей форме), из которого будет передано значение для подстановки;

 

Группа полей "Сообщение"

  • Send e-mail - Условия, при которых будет отправляться сообщение. Можно выбрать одну из 4 статичных опций:
Поле Send E-mail name формы создания поля E-Mail
Поле Send E-mail name формы создания поля E-Mail
  • Never - никогда;
  • Submission - при первичной отправке данных;
  • Edition - при редактировании материала;
  • Always - при любых вышеуказанных действиях.

Также можно использовать поле, которое находится чуть правее для динамического изменения условий отправки сообщений. Укажите название поля, из которого нужно получить значение, непосредственно в данной ячейке. Значение, которое будет получено должно быть целым числом (integer):

  • Never = 0
  • Submission = 1
  • Edition = 2
  • Always = 3

Как это работает?

Вы, можете, переопределить параметр выпадающего списка "Send E-mail" другим полем, находящимся в Вашей форме.

Например:
поместите в Вашу форму поле Select и назовите его "return_me_email":

Укажите в Options поля Select Simple: Да=3 (3 - это Always) / Нет=0 (0 - это Never)

Поле Select Simple
Поле Select Simple

Потом, в текстовое поле, находящееся с права от Select "Send E-mail", впишите название поля "return_me_email".

На сайте (Front end):

  • если пользователь, выберет Нет => E-Mail не будет отправляться ему;
  • если пользователь, выберет Да => E-Mail всегда будет отправляться ему.

  • Message- это ссылка, при клике на которую, открывается установленный в Вашей Joomla визуальный редактор, в который Вы, и вводите непосредственно само сообщение, которое будет отправлено Вашему адресату. В поле возможно использовать следующие значения:
    • Статический текст: Hello World...
    • Значение в формате Joomla: [sitename][siteurl][username][activation]
    • Добавить все поля формы в сообщение: [fields]
    Так же, в текстовый редактор, Вы можете добавит и динамические значения:
    • #fieldname# - вместо fieldname, впишите название любого поля, которое находится в той же форме. что и создаваемое Вами поле E-Mail.

      Внимание!!! При вставке в тело сообщения какого-либо поля из Вашей формы,
      не забудте, заключить его в ##

    • $cck->getAttr('fieldname'); - Замените 'Attr' необходимым атрибутом, который необходимо получить, например:
      • Label,
      • Value,
      • Text,
      • Html ...
    • {del fieldname} Привет мир {/del} или {del #fieldname#} Привет мир {/del} - сообщение между тегами будет показано только в том случае, если есть какое-то значение в поле fieldname;
    • J(translate) - используя JText (значения должны быть прописаны в языковых файлах);
    • [date(format)] указать дату, используя при этом, формат PHP.

Как это работает?
(пример текста сообщения):

Здравствуйте, #art_title#,

Я хранюсь, в этой категории: $cck->getValue('art_catid');

{del fake} Delete fake is not a valid value {/del} Line Blank

{del id}Киев, [date("F j, Y, g:i a")] {/del}

J(Best Regards) Переведите это

J(Default) сделано

[fields]


  • Message (Field) - текст сообщения из поля. Укажите имя поля (которое присутствует в этой же форме, что и создаваемое Вами поле E-Mail), из которого нужно брать значение.

Вложения:

За вложения, в форме создания поля E-Mail, отвечают два поля:

Поля, отвечающие за создание и прикрепление вложений
Поля, отвечающие за создание и прикрепление вложений
  • Send Attachment (Field) - Отправлять ли файлы в приложении вместе с сообщением. Укажите имя поля, из которого брать значение. При значении поля = 0, файлы не отправляются.
  • Attachment (Fields) - Поля, из которых брать файлы для отправки. Укажите имя (имена) полей.

Группа полей "Получатель"

Поля, отвечающие за определение получателя сообщения:

Поля, отвечающие за определение получателя сообщения
Поля, отвечающие за определение получателя сообщения
  • To - укажите электронный адрес (адреса) получателей.
  • To (Fields) - укажите имя поля (полей), из которого брать электронный адрес (адреса) получателей
  • To (Administrators) - укажите пользователя (пользователей), с правами администратора, которому направлять сообщение. Для выбора нескольких значений используйте CtrL + выбор
  • Копии сообщений CC & BCC- отправка сообщения в скрытой копии. Варианты значений:

    Поле CC формы создания поля E-MailПоле CC формы создания поля E-Mail
    • None - не отправлять;
    • E-mail - укажите в поле (Email / Field) адрес(а) E-Mail;
    • Field (Form) - укажите в поле (Email / Field) имена полей, из которых брать E-Mail адреса

    Поле BCC формы создания поля E-MailПоле BCC формы создания поля E-Mail

Как все это работает - пример

Допустим, нам нужно создать письмо, которое будет автоматически отправляться только что зарегистрированному пользователю. Для этого, в типе контента User, Вам, достаточно создать поле E-Mail, нажав на плюсик, и в выпадающем списке Type, в группе Form, выбрать поле Email,

Выбор поля Email
Выбор поля Email

после чего, произойдет Ajax перезагрузка, и у Вас появится поля, которые мы с Вами, рассмотрели выше.

Согласно вышеописанной инструкции, указываем:

  • Title - Письмо после регистрации
  • Name - reg_email
  • Label - Письмо после регистрации
  • Send E-mail - Submission
  • From - Default
  • From Name - Default
  • Subject - Регистрация на сайте ...
  • To (Fields) - название поля, в которое пользователь, при регистрации будет вводить свой E-Mail. Допустим, это поле называется у Вас "mail", поэтому, вписываете просто (без ##) - mail
  • To (Administrators) - здесь, выберите администратора
  • поля:
    • To
    • Message (Field)
    • Send Attachment (Field)
    • Attachment (Fields)
    остаются не заполненным
  • поля:
    • CC
    • BCC
    - None
  • И главное поле - Message. В визуальном тектстовом редакторе, давайте пропишем следующее:
    Здравствуйте #login#,
    Спасибо за регистрацию на сайте ...
    Для активации Вашей учетной запись, нажмите на ссылку, которая находится ниже, или скопируйте ее, и вставте в адресную строку браузера.
    [activation]
Сохраняем, и... Все - готово! Но, при проверке (отправке этого письма на свой собственный E-Mail), оказывается, что не все готово, но, об этом, немного ниже, а сейча, давайте разберем, то, что мы написали:
  • Здравствуйте #login#, - конструкция #login# - это ничто иное, как название поля, в которе регистрируемый пользователь вводит свой логин. В Вашем проекте, это поле может называться и по-другому, поэтому, Вам нужно указать именно то назание, которое Вы придумали для этого поля, заключив это название в ##
  • [activation] - этот тег, должен "подхватить" и вывести в Вашем письме ссылку активации, но, именно здесь и возникает момент, о ктором говорилос выше, что оказывается не все готово...

    При проверке, оказывается, что (у кого как): или ссылки вообще нет, или ссылка ведет неизвестно куда, или просто не кликабельна, или, в теле письма, вместо ссылки, отображается просто: [activation].

    Поэтому, модератором официального форума SEBLOD Lionel73, был сделан временный плагин (пока, разработчики SEBLOD не исправят этот баг), который, можно скачать здесь. Устанавливается как обычно, и используется именно для письма с отправкой активационной сылки. Для его использвания, Вам, нужно щелкнув на плюсик, в выпадающем списке Type, в группе Form, выбрать поле Activation Email

    Выбор поля Activation Email
    Выбор поля Activation Email

    И уже в него, ввести все те данные, что мы указали при создании обычного пля E-Mail. И, не забудьте, в поле User Activation

    Поле User Activation
    Поле User Activation

    указать: "Да"

    После этих манипуляций, Вам, сотается только в визуальном редакторе Message, вставить (в то место, где мы прописали ранее [activation]):

    <a href="/[activation]">Ваш текст</a>
Все! Вот теперь, действительно все готово - поле создано.

А если мне, нужно отправлять письма на нескольких языках... Как тогда быть?

Просто - очень просто!

Для этого, Вам нужно, согласно правил локализации полей, прописать языковые переменные для Ваших полей. А в поле Message, в визуальном текстовом редакторе, составить тело письма таким образом:

    J(greetings), #login#,
    J(thanks for reg)
    J(info activation)
    <a href="/[activation]">J(activation link)</a> *
    * слеш перед [activation] - не нужен - его нужно убрать из кода

Что все это значит...?

    В языковом файле Ваш_сайт/language/overrides/ru-RU.override.ini, нужно указать языковые переменные:

    • COM_CCK_GREETINGS="Здравствуйте"
    • COM_CCK_THANKS_FOR_REG="Спасибо за регистрацию на сайте ..."
    • COM_CCK_INFO_ACTIVATION="Для активации Вашей учетной запись, нажмите на ссылку, которая находится ниже, или скопируйте ее, и вставте в адресную строку браузера."
    • COM_CCK_ACTIVATION_LINK="Нажмите на эту ссылку для подтверждения регистрации"

    и, благодаря JText, Вы, теперь, можете в визуальном текстовом редакторе поля Message, используя конструкцию J(), ссылаться на эти языковые переменные, не используя прописных букв и нижнего подчеркивания. SEBLOD, сам подхватит, нужную языкову переменную из нужного языкового файла!!!

    Для других языков. в соответствующем языковом файле, Вам нужно прописать те же языковые переменные, но, только на том языке, на котором Вам нужно. Например: для английского языка (файл Ваш_сайт/language/overrides/en-GB.override.ini,): COM_CCK_GREETINGS="Hello"

Вот теперь, наверное все, подумаете Вы... Нет, не все! А как же тема письма?

А вот с темой письма - проблемы...

Все дело в том, что, в плагине от Lionel73, не предусмотрена локализация темы (поле Subject формы создания поля E-Mail) отправляемого письма...

    Благодаря стараниям SEBLOD_DS и Romeo с форума SEBLOD.ru, была устранена эта проблема в стандартном поле E-Mail. Исправленный плагин, можно скачать здесь.

    Так же, и в плагине от Lionel73, стараниям SEBLOD_DS и Romeo была устранена эта проблема - теперь, все работает, и, в поле Subject формы создания поля E-Mail, Вы можете писать в формате J()

Вот теперь, действительно все!

Комментарии  

# inna Спасибо за интересный материал. Очень хорошо и доступно всё описано.

У Вас недостаточно прав для добавления комментариев. Для того, чтобы оставить свой комментарий необходимо зарегистрироваться на сайте.