Це здається мені дивно важким. Я вважав, що це просто випадок додавання додаткових полів, як додавання полів до типів вмісту. Але не. Я не можу знайти жоден об'єкт, щоб додати скажімо поле номер телефону до форми контакту? Хтось там знає?
Це здається мені дивно важким. Я вважав, що це просто випадок додавання додаткових полів, як додавання полів до типів вмісту. Але не. Я не можу знайти жоден об'єкт, щоб додати скажімо поле номер телефону до форми контакту? Хтось там знає?
Відповіді:
Очікування поля форм, які будуть налаштовані як типи вмісту, є надмірним узагальненням. Типи вмісту призначені для вмісту (текст, зображення тощо) веб-сайту, а точніше, для Drupal, для вузлів (основний вміст у Drupal). Використовуючи модуль Field and Field UI, можна легко додавати поля до типу вмісту за допомогою веб-інтерфейсу. За винятком деяких конкретних випадків, форма не є частиною вмісту веб-сайту, а скоріше способом для користувачів додавати та редагувати інформацію, іноді вміст, а іноді ні.
Для налаштування (тобто зміни) форми в Drupal звичайним способом є створення спеціального модуля, який реалізує гачок . Таким чином, ви можете додати елементи форми до існуючих форм, наданих іншими модулями. Щоб використовувати інформацію для полів, доданих до форми контакту таким чином, вам також потрібно буде змінити надіслану пошту, використовуючи реалізацію mock_mail_alter () . Наступний посібник проведе вас через обидва кроки в Drupal 7. (Зверніть увагу також на цей коментар )hook_form_FORM_ID_alter
Рішення без коду використовувати Webform модуль , який забезпечує форму тип вмісту і дозволяє додавати форми в якості контенту на ваш сайт. Ці форми можна настроїти через веб-інтерфейс. Для інформації, поданої через ці форми, можна налаштувати різні етапи обробки. Один з них - це надсилання електронною поштою. Використання його для спеціальної форми контактів є звичайним випадком використання. Веб-форма має власні концепції та точки розширення. Хоча це може виявитись простішим і швидшим рішенням для одноразових простих форм, воно також може виявитись завеликими розмірами та складними для налаштування після досягнення певного порогу функцій. Витрати на додавання додаткових функцій до веб-форми можуть перевершити виграш, уникаючи написання спеціального модуля.
Це залежить від того, який модуль ви використовуєте для своєї контактної форми. Деякі модулі надають інтерфейс, який не потребує програмування, щоб додати додаткові поля. Дуже популярним модулем з цією функціональністю є Webform.
Якщо це забороняється, форми в Drupal можуть бути змінені, написавши користувацький модуль, використовуючи гачок ho_form_alter. Існує багато навчальних посібників з розробки мдул та використання цього конкретного гачка.
Якщо ви використовуєте основний модуль контактів, сподіваємось, що модуль полів контактної форми скоро закінчиться для Drupal 7.
Цей модуль дозволяє додавати додаткові поля до контактної форми на широкому сайті, наприклад інтерфейс модуля профілю. Адміністратор може визначити поля, і вони будуть доступні на контактній формі на сайті. Зауважте, що ці поля зараз не будуть доступними для особистої форми контактів, оскільки я не бачу конкретних потреб.
Якщо ви хочете чогось зараз: 4 варіанти:
(додавши це для пошукової арени;))
Ось зразок коду, який показує, як додати користувацькі поля до контактної форми на всьому веб-сайті за допомогою форм api: приклад нових форм форми .
Насолоджуйтесь!