Друпал содержит множество всевозможных форм. Иногда, не все они выглядят так, как бы вам хотелось. Изменение друпаловских форм это тема, которую многие разработчики встречают дружными стонами неудовольствия и непонимания. Между тем, достаточно уяснить всего два метода их изменения и все становится намного яснее и проще.
Краткое содержание:
- Аспекты изменение формы через систему темизации
- Изменение формы в модулях
- Применение Forms API
- Примеры для обоих веток Друпала
Модификация форм в Drupal (осторожно, много кода).
Хабрассылка для хабраплюсов
Комментарии
Статья класс ! Респект и уважуха
Мне нравятся формы вида:
label поля |САМО ПОЛЕ|
label второго поля |САМО ВТОРОЕ ПОЛЕ|
- - - - - - - - - - - - - - - - - - - -
label последнего |САМО ПОСЛЕДНЕЕ|
короче табличный вид, так вот поодиночке переделывать формы друпала в такой вид достаточно просто, а вот чтобы как-то скопом...тут посложнее, так как друпал генерирует формы из массивов элементов, рекурсивно пробегаясь по каждому- такое не пробовали делать? Было бы интересно почитать.
Я сделал такое с помощью CSS. Переопределил label внутри нужной формы.
Примерно так:
float:left;
text-align:left;
width:170px;
}
Если вам нужна именно таблица, то массово сделать такое автоматическое преобразование очень накладно и чревато багами. Объясню почему. Если с полями все ясно — метку засунуть в одну ячейку, инпут во вторую, то с кнопками все не так прозрачно как кажется на первый взгляд. Ведь многие кнопки привязаны к конкретным инпутам (вспомните форму перевода). В этом случае, корректно разобрать форму можно только лишь под личным контролем разработчика.
Да, сложновато.
Просто хотелось автоматизировать- надоело каждую форму отдельно перекрывать, но наверное Вы правы, тем более, что модули могут вмешиваться в вывод форм других модулей и все это учесть наверное невозможно. Эхх, будем работать как раньше.
Я тоже делал так и внешне все нормально было, но при клике по полям не хотел устанавливаться фокус на поле в каком-то из браузеров, а при клике в области лэйбла устанавливался, что не есть интуитивно понятным для посетителей...
А подробностей не вспомнишь: какие поля и в каких браузерах?
Я правда использовал только поля textfield. Сейчас проверил в Firefox 2 и 3, IE 7, Opera 9.2. Проблем никаких. Фокус ввода меняется при щелчке и по самому полю, и по label.
Обычный текстфилд в ИЕ-6.
Интересно. Я тут сайт заканчиваю - как раз с такой реализацией. Вот будет прикол если работать не будет.
И IE-6 под рукой нет - проверить.
Если из сети видно, могу потестить в ИЕ-6.
Спасибо!
Вот ссылка с формой: http://www.mnemonica.ru/assoc/2/test. Форма многостраничная, два раза нажать "Отправить", и на третьей странице собственно сам та форма, которую с CSS делал. На первых двух страницах данные можно не вводить - с настройками по умолчанию до третьей страницы дойдет.
Сайт еще не готов. Программирование почти закончено, а так текст еще нужно загонять.
Потестил, все работает нормально, правда в ИЕ-6 на втором этапе кнопка сначала слева показалась, а потом скакнула вправо. Видимо у меня тогда еще что-то сыграло.
Спасибо!
Похоже больших проблем нет. Надо будет как-нибудь засесть перепроверить все.
эх, товарищ, а чо ж ссылочку на источник оригинал не даете?
http://www.lullabot.com/articles/modifying-forms-5-and-6
ibragim прав - если это перевод, то нужно дать ссылку на оригинал и указать, что это перевод.
Lullabot не нуждается в ссылках
Что с вашим сайтом? Очень надо...
Если у кого нибудь есть пример темизации формы поиска для шестерки, выложите пожалуйста.