Drupal 7 и переменные в $_POST

MASTAKILLA
На сайте с 11.05.2006
Offline
160
785

Столкнулся с такой проблемой, имеем сайт на drupal 7, пишу форму обратной связи, которая должна уходить на мыло.

Так при отправке сообщения, все значение из формы не передаются в переменную $_POST[], где мне их искать? Как сделать что бы они передавались :)

Garin33
На сайте с 31.08.2009
Offline
169
#1

Вы уверены, что используя друпал необходимо велосипед придумывать, какие-то свои формы делать?

https://drupal.org/project/webform

https://drupal.org/project/entityform

Потому что Drupal - это круто.
Chalk
На сайте с 05.11.2009
Offline
48
#2

Форма описана через Forms API или на костылях? И лучше да - используйте готовое, если нет опыта.

MASTAKILLA
На сайте с 11.05.2006
Offline
160
#3
Chalk:
Форма описана через Forms API или на костылях? И лучше да - используйте готовое, если нет опыта.

пытаюсь на костылях, так как не совсем понятна логика на Form API, а не понятна вот в чем..

Создам я модуль, опишу форму, как мне ее потом вызвать на любой странице?

Вот в этом примере, по идеи будет доступна страница: http://site.ru/my_module/form

А если я захочу эту форму вставить в страницу http://site.ru/feedback, как быть?


function my_module_menu() {
$items = array();
$items['my_module/form'] = array(
'title' => 'My form',
'page callback' => 'my_module_form',
'access arguments' => array('access content'),
'description' => 'My form',
'type' => MENU_CALLBACK,
);
return $items;
}

function my_module_form() {

return drupal_get_form('my_module_my_form');

}


function my_module_my_form($form_state) {


$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
);
return $form;
}
Chalk
На сайте с 05.11.2009
Offline
48
#4

Можете запихнуть форму в блок - см. hook_block_info() и hook_block_view().

Т.е. форму вы описываете один раз, а далее дергать через drupal_get_form() можете откуда угодно.

MASTAKILLA
На сайте с 11.05.2006
Offline
160
#5
Chalk:
Можете запихнуть форму в блок - см. hook_block_info() и hook_block_view().
Т.е. форму вы описываете один раз, а далее дергать через drupal_get_form() можете откуда угодно.

Не поимаю.

Вот я создал новую страницу, и начинаю ее редактировать, что бы вызвать мне форму, нужно взять в поле full html поставить php и в коде php вызвать модуль?

drupal_get_form(my_form)?

Chalk
На сайте с 05.11.2009
Offline
48
#6

Не очень красивый подход, но можно и так, если не хотите делать блоком.

$form = drupal_get_form(my_form);

print render($form);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий