Form overrider

Главные вкладки

Аватар пользователя Cyber Cyber 1 августа 2011 в 18:11

Приветы. Интересует самый простой способ переписать все формы генерируемые ядром. Интересует возможность дополнить атрибутами required и расшарить новыми типами полей. Может есть возможность выцепить форму до рендера, обработать и пихнуть в кеш? Скажем, какойто хитрожопый хук или модуль ... В голову приходит присоска на ядро прямо в конструктор формы. Есть идеи?

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 1 августа 2011 в 18:58

1)

"Cyber" wrote:
форму до рендера

hook_form_alter
"Cyber" wrote:
расшарить новыми типами полей

2) Типы можете свои на здоровье определять
hook_elements()
никто не отменял
переопределит можно
3) phptemplate_<имя типа элемента формы>

Ядро не трогайте.

Аватар пользователя Cyber Cyber 1 августа 2011 в 19:04

"<a href="mailto:sas@drupal.org">sas@drupal.org</a>" wrote:
Типы можете свои на здоровье определять
hook_elements()

"<a href="mailto:sas@drupal.org">sas@drupal.org</a>" wrote:
phptemplate_<имя типа элемента формы>

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 августа 2011 в 19:44

"Cyber" wrote:

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


Ты скажи что ты хочешь полностью

Аватар пользователя Cyber Cyber 1 августа 2011 в 20:26

"RxB" wrote:
Ты скажи что ты хочешь полностью

Я размышляю над тем, как засунуть в ядро новые типы полей типа email, url и т.д. и как прикрутить к полям атрибы типа required. Объясню зачем. В HTML5 форму валидирует браузер и автоматически не даёт её сабмитить пока прально поля не заполнишь(крутая штука короче). Тобишь все маски уже встроены в двиг браузера.

Также хочу запилить aria roles на формы. В принципе, функционал уже есть, но он реализуется на классах. Типа если поле обязательно, то к нему пристыковается класс class="form-text required". В принципе, можно написать снипетик на jQuery, который обойдёт все формы и при наличии класса добавит атрибы. Не совсем кошерно, но хотелось бы на уровне php.

Собсно выглядит это так:


было бы здорово приучить друпу делать такие штуки. Валидаторы есть почти под все типы полей, от валюты до даты.

Аватар пользователя Cyber Cyber 1 августа 2011 в 23:00

"<a href="mailto:sas@drupal.org">sas@drupal.org</a>" wrote:
Но матюки здесь при чем ? Нельзя не юзать татарскую погань ?

Можно, но так контекст донести проще было. Спасибо, попробую.