MODx eForm

    eForm это замечательный инструмент по работе с формами (обратная связь, анкеты и т.д.). Для начала, чтобы разобраться в нем я решил сделать перевод возможных параметров. К нему можно относиться и как к набору возможностей.

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



    Описание



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

    Обязательные параметры


    &formid

    Идентификатор формы, который используется при отправке
    данных. Этот параметр необходим если на странице используется более одной
    формы. Шаблон вашей формы должен иметь скрытое поле с тем же идентификатором: <input type=«hidden» name=«formid»
    value=«formName» /> или (начиная с eForm 1.4.x) вы можете
    установить идентификатор прямо в теге формы: <form
    id=«formName»...>;

    &tpl

    Название чанка (не число) или идентификатор документа (число) для
    используемого шаблона (новое в 1.4.4) Вы можете также использовать сниппет как
    источник шаблона. При этом никакие параметры не передаются. Для регулярных
    полей формы вам не нужно включать переменные, так как они автоматически
    включаются eForm,
    исключая случаи когда вы сами задаете значения. Доступны специальные
    переменные: [+validationmessage+],
    [+postdate+],[+verimageurl+] и [+debugText+]. Каждая форма должна содержать
    переменную [+validatiomessage+].

    &report

    Название чанка (не число) или идентификатор документа (число) для шаблона
    отчета. Должна содержать каждая форма.

    Дополнительные параметры


    &to (необязательно)

    Адрес Email
    на который будет послана информация. Можно использовать несколько адресов
    разделяя их запятой (,). Если не указано, то будет использован системный адрес.

    &from (необязательно)

    Устанавливает адрес отправителя письма.

    &fromname
    (необязательно)

    Устанавливает имя отправителя письма.

    &replyto (необязательно)

    Электронный адрес или поле содержащее адрес, который будет использован в
    письме для ответа.

    &sendirect (необязательно)

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

    • 1 — включение
    • 0 — выключение (по умолчанию)

    &cc
    (необязательно)

    Также как &email но
    для Cc:

    &bcc
    (необязательно)

    Также как &email но
    для Bcc:

    &ccsender
    (необязательно)

    Послать копию данных формы пользователю. По умолчанию установлено в 0. eForm ищет
    адрес пользователя в поле с названием email.

    • 1 — включить
    • 0 — отключено (по умолчанию)

    &subject (необязательно)

    Тема сообщения, которая может включать [.поля формы.]. Например: Спасибо
    за ваш заказ [.firstname.] [.lastname.]

    &noemail (необязательно)

    Защищает eForm от
    посылки писем.

    • 1 — отключить отправку писем
    • 0 — включить отправку писем (по умолчанию)

    &mailselector (необязательно)

    Устанавливает поле формы, которое будет использоваться при выборе
    единственного адреса из списка адресов разделенных запятой (,) для
    использования в параметре &to. Значения поля будет определять
    номер используемого почтового адреса. Номер 1 соответствует первому адресу и N — последнему.

    Пример: &to
    =`sales@me.com,support@me.com,billing@me.com` &mailselector=`topic`

    В форме используется поле topic в виде выпадающего списка. Когда
    пользователь выбирает значение, то тем самым он определяет один адрес, по
    которому будут посланы данные формы.

    &mobile (необязательно)

    Адрес почты мобильного устройства. Используется для отсылки короткого
    сообщения.

    &mobiletext (необязательно)

    Сообщение для отправки на мобильное устройство. Может содержать [.поля
    формы.]. Например: Заказ для [.firstname.].

    &thankyou (необязательно)

    Название чанка (не число) или идентификатор документа (число) для
    используемого шаблона сообщения выводимого пользователю после отправки данных
    формы. Теги как у &tpl

    &gotoid (необязательно)

    Идентификатор документа на который будет совершен переход после отправки
    данных формы. Смотрите также &thankyou.

    &category (необязательно)

    Название или идентификатор категории используемый для категоризации eForm. Если категория не найдена, то
    она автоматически будет создана. Это используется в теме сообщение.

    &keywords (необязательно)

    Разделяемые запятой (,) ключевые слова или [+поле формы+]
    используемое при поиске банка данных. Например: [+firstname+],
    [+lastname+], [+email+]

    &autosender (необязательно)

    Адрес электронной почты, который показывается при отправке сообщения
    автоответчика. Например: no-reply@mydomain.com

    &autoSenderName
    (необязательно)

    Имя, используемое в сообщении автоответчика.

    &automessage (необязательно)

    Название чанка (не число) или идентификатор документа (число) для
    используемого шаблона в сообщении автоответчика. Может содержать [.поля формы.].

    &allowhtml (необязательно)

    Включает использовании пользователями HTML в сообщении.

    • 1 — включено
    • 0 — выключено (по умолчанию)

    &language (необязательно)

    Устанавливает используемый язык сообщений и проверки. Название языков
    совпадает с MODx.

    &vericode (необязательно)

    Включает код проверки. Шаблон должен содержать поле для проверки и
    переменную [+vericode+].

    &debug (необязательно)

    Включает расширенные сообщения об ошибках в проверке формы. В основном
    для отладки #LIST и #SELECT.

    &sendAsHtml (необязательно)

    Определяет, какие сообщения будут использовать формат html.

    • 1 — все сообщения
    • report,
      autotext, mobile — конкретные типы
      сообщений

    &sendAsText (необязательно)

    Определяет, какие сообщения будут использовать текстовый формат.

    • 1 — все сообщения
    • report,
      autotext, mobile — конкретные типы
      сообщений

    &sessionVars (необязательно)

    Названия переменных сессии $_SESSION,
    разделенные запятой (,). Они будут добавлены в список значений полей перед
    отображением формы и может быть использована качестве скрытых полей. Если вы
    используете этот параметр, то убедитесь, что вы не раскрываете важную
    информацию сессии (скрытые поля не защищают информацию!).

    Так как eForm не выполняет
    самостоятельную обработку таких значений, то вам необходимо включить их в
    шаблон. Например:
    [!eForm &sessionVars=`jobID`… ]] и <input type=«hidden»
    value="[<!-- -->+jobID+]" />

    &postOverides (необязательно)

    Используется в комбинации с &sessionVars. Переменные сессии будут
    переписаны введенными в форму значениями. При установке значения 1 полученные в
    форме данные получают приоритет.

    &reportAbuse (необязательно)

    При установке значения `1` будут посылаться сообщения на специальный
    электронный адрес если будет замечена попытка инъекции eForm (используйте умеренно).

    &cssStyle (необязательно)

    Добавляет определение стиля в область страницы, на которой
    располагается форма или сообщение для пользователя показываемое после отправки
    (только если параметр &thankyou
    установлен). Значения могут быть в виде идентификатора документа (число), имени
    чанка или ссылки на таблицу стилей (относительная или абсолютная). Можно
    использовать несколько значений разделяя их запятыми (,) (фактически можно
    комбинировать все три вида значений).

    Примеры:

    [!eForm
    &cssStyle=`assets/site/forms.css,chunkName`… ]]
    [!eForm &cssStyle=`chunkName`… ]]
    [!eForm &cssStyle=`http://mysite.com/assets/styles/forms.css`… ]]

    Чанки (и документы, если установлен идентификатор документа) могут
    использовать значения в форме:

    1. как
      встроенный блок
      как ссылка на таблицу стилей: <link href=«assets/site/forms.css»
      rel=«stylesheet» type=«text/css»>
      как разделенный запятой (,) список ссылок на таблицы стилей:
      assets/site/forms.css,assets/site/more.css,assets/site/gone_overboard.css
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 14
    • +2
      На самом деле фактически, хотя MODx и обладает очень гибкими и мощными инструментами типа Ditto и eForm, но при такой универсальности в параметрах нужно довольно хорошо ориентироваться. Поэтому я начинаю подумывать о том, чтобы сделать набор часто используемых настроек.
      • 0
        Правильная мысль.
        Меня при первом знакомстве с MODx отпугнуло именно такая "навороченность" всяких параметров и не понятных терминов. В последствии же оказалось, что типовые задачи решаются очень просто и гибко :)
        • +1
          Это точно, но я уже представляю как этот вопрос решить, должно получить отлично. Правда по списку работ над сайтом http://www.modx-cms.ru эта затея у меня довольно далеко. :-)
      • 0
        Ой, как в тему. Как раз нужно. Спасибо!
        • 0
          Рад, что пригодилось. Правда примеры в первый раз вырезались. Я поправил.
        • 0
          Е-моё... а все примеры - то вырезались...
          • 0
            Исправил. Теперь с примерами.
          • 0
            Единственное чего не хватает на мой личный взгляд eForm, так это возможность полученные файлы от пользователей размещать на сервере. Сейчас файлы используются только как вложение для письма. В принципе решение есть, но хочется встроенной поддержки.
            • 0
              Что такое "чанка"? Это слово упоминается во фразе "Название чанка (не число)"
              • 0
                чанк (chunk)— это блок хтмл-кода, который включается в шаблон. Вызывается следующим образом: {{ИмяЧанка}}. При выводе хтмл-страницы имя чанка заменяется на его содержимое
                • 0
                  Подробно о терминологии можно прочитать в статье MODx. Базовые вещи
                • 0
                  а что будет если в поле INPUT не добавить eform="Текст:string:0" ?
                  • 0
                    Честно говоря не пробовал. Либо исключит из обработки, либо учтет как необязательное.
                  • 0
                    спасибо; вот нашёл ресурс для продвинутых юзеров )
                    eForm2db (eng) http://modxcms.com/forums/index.php?topic=8111.0

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.