Нужно по сложной схеме организовать страницу с добавлением материала. Будут всплывающие окошки с чекбоксами, расположение полей по определенным блокам, разный хитрый js и т.д. Кое-как через css и jq поля поперемещал, но это какой-то уж слишком топорный метод, хотелось бы чистым html всё сделать.
Комментарии
panels или display_suite
Если очень сложная кастомизация, то проще руками форму выводить. Т.е. темизировать форму самому.
Да, хотелось бы именно самому полностью темизировать. Но как, в таком случае, выводить в tpl поля в определенных местах, они же в [content] все? Я так понимаю, надо какие-то переменные создать, но я пока не особо в php и drupal api разбираюсь, так что вот тут проблемка.
Оберни все поля дивами (или еще лучьше посмотри какими уже обернуто) да вытягивай куда душе угодно. Ну а что бы всплывало... всерно скорее всего потребуется ява итп.
А где эти поля взять-то?
Мне бы хотелось, грубо говоря, сделать что-то вроде
<div><?php [field_img]?></div>
<div><?php [field_text]?></div>
...
То есть некий tpl.php, и в него аккуратно запихнуть всё по блокам. В плане верстки нет проблем, но я не понимаю, где мне взять сами поля по отдельности.
1. Берем айдишник формы
2. Создаем запись в hook_theme темы (в template.php) c ключом, равным айдишнику формы и одним параметром (форма). Вывод берем из шаблона.
3. Пишем препроцесс функцю для нашего темизационного обработчика, где рендерим нужные поля и делаем разную логику (это необязателно, но правильно)
4. создаем указанный нами шаблон и рисуем в нем форму. Переменные доступны те, которые мы определим в препроцессе + сама форма (по имени, указанному в аргументе в hook_theme).
5. не забудьте про hidden поля, они нужны форме