Веб-форма Drupal в шаблоне главной страницы

Мне нужно добавить веб-форму на свой page-home.tpl, но я новичок в Drupal, поэтому мне нужна действительно четкая помощь ...

Я использую DRUPAL 6 и создал веб-форму.

Я хотел бы добавить веб-форму в свой собственный шаблон, просто добавив код PHP в файл tpl. Мой идентификатор веб-формы - id = "webform-client-form-20".

Можешь мне помочь ?

Большое спасибо


person Uncoke    schedule 03.01.2012    source источник


Ответы (1)


Самый быстрый (не обязательно лучший) способ сделать это - использовать комбинацию _ 1_ и _ 2_:

$nid = 20; // Node ID of the webform.
$webform_node = node_load($nid);
echo node_view($webform_node);

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

person Clive    schedule 03.01.2012
comment
Это было то, что я искал. Спасибо! Не могли бы вы объяснить функцию предварительной обработки? Я действительно нуб на drupal ... РЕДАКТИРОВАТЬ: это (drupal.org/node/223430 ) что ты имеешь в виду ? - person Uncoke; 03.01.2012
comment
@Uncoke: Да, ссылка, которую вы предоставили, именно то, что я имел в виду :) - person Clive; 03.01.2012
comment
Я не уверен, что я на правильном пути, поэтому, если у вас есть какие-либо предложения, не стесняйтесь сказать мне. Код работает нормально, но если я отправлю форму (например, с отсутствующими полями), я буду перенаправлен на «исходный» узел веб-формы ... вместо этого я бы предпочел остаться на главной странице. Могу я отменить это? - person Uncoke; 03.01.2012
comment
Вы можете просто зайти в настройки узла веб-формы и вместо этого настроить его перенаправление на домашнюю страницу? - person Clive; 03.01.2012
comment
Я принудительно перенаправил на ‹front›, и все работает нормально. Теперь я должен понять, как загружать сообщения формы, такие как сообщение об отправке или сообщение об ошибке ... для публикации на главной странице после отправки. Есть ли у вас какие-нибудь предложения? Большое спасибо за вашу услужливую помощь! - person Uncoke; 05.01.2012
comment
Нет проблем :) Взгляните на _1 _, это функция, которую ядро ​​Drupal использует для вывода сообщений на экран. - person Clive; 05.01.2012
comment
Спасибо, Клайв, это приятно, но я немного запутался ... Я не уверен, как его использовать ... В веб-форме ›настройка формы› Я набрал сообщение с подтверждением и установил ‹front› в качестве места перенаправления. Затем в шаблон главной страницы я добавил код, который вы разместили вчера, и он работает очень хорошо. Но после отправки формы ... у меня перезагружается первая страница и не отображается подтверждающее сообщение ... Моя цель - скрыть форму и показать сообщение ... но я не могу этого сделать ...: / - person Uncoke; 05.01.2012
comment
Я действительно нуб! Я понял, что страница перенаправления была ‹front›, но форма действия должна была сформировать страницу '/? Q = content / form' ... а затем эта страница выполняет последнее перенаправление ... на ‹front› Может быть, это причина почему я не могу загрузить значения отправки формы ... Возможно, правильным способом было установить страницу формы как ‹front› ... хммм, теперь мне нужно снова изменить свой шаблон ... используя страницу формы в качестве первой страницы ...: / - person Uncoke; 05.01.2012