Drupal: вызов drupal_get_form из AJAX - PullRequest
1 голос
/ 09 декабря 2010

Я хотел бы вызвать форму, созданную в файле .module. Это означает, что в функции AJAX, расположенной на HTML-странице drupal, я хотел бы добавить форму, определенную в файле модуля, с представлением DIV в моем HTML-файле.

Есть ли у вас решение, чтобы иметь только код HTML, сгенерированный drupal для формы? Но вызов Drupal будет в функции AJAX.

На самом деле, я могу создать путь «myProject / form», где создается форма. Тем не менее, я не могу добавить полный контент HTML-страницы (верхний, нижний колонтитул drupal). Я хочу добавить только HTML-код формы.

Надеюсь, что мне понятно

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

Bat

1 Ответ

2 голосов
/ 07 декабря 2012

Возможно, у вас есть 'обратный вызов страницы' с такой функцией в вашем hook_menu:

$items['myProject/form/%'] = array(
  'title' => t('Get a form'),
  'description' => 'Get form',
  'access callback' => 'user_access',
  'page callback' => '_get_form',
  'page arguments' => array(2),
  'access arguments' => array('access content'),
  'type' => MENU_CALLBACK,
);

А может быть, вы определили эту функцию:

function _get_form($form_id){
   return "Hello World with " . $form_id; //returns the whole page with this text
}

Если вы измените return на print, Drupal вернет только этот текст, например:

function _get_form($form_id){
   print "Hello World with " . $form_id; //returns only this text
}

Надеюсь, это поможет

...