Использование функции обратного вызова страницы drupal_get_form - PullRequest
3 голосов
/ 06 октября 2011
function example_menu() {
  $items['admin/config/example'] = array(
    'title' => 'Example',
    'description' => 'example configuration',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('example_admin_settings'),
    'access arguments' => array('administer example'),
    'file' => 'example.admin.inc',
    'file path' => drupal_get_path('module', 'example'),
  );
  return $items;
}

В приведенном выше коде я запутался, как это работает. Обратный вызов страницы - это drupal_get_form, а аргументами страницы - example_admin_settings. У меня вопрос, как именно это работает?

Я знаю, что drupal_get_form, вероятно, заканчивает тем, что вызывает example_admin_settings, который возвращает system_settings_form. Может ли кто-нибудь указать мне правильные документы?

Ответы [ 2 ]

6 голосов
/ 06 октября 2011

Вы на правильном пути.

При доступе к admin/config/example выполняется drupal_get_form('example_admin_settings'). example_admin_settings() сам вернет массив, содержимое которого основано на форме api , что-то вроде:

$form['name'] = array(
    '#type' => 'input',
    '#title' => 'Insert your name here: ',
);
$form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Submit',
);

return $form;

Drupal автоматически отобразит и выведет форму для вас.
Кроме того, рассмотрите возможность размещения своих следующих вопросов о Drupal на https://drupal.stackexchange.com/.

3 голосов
/ 06 октября 2011

это пример, как сделать что-то вроде этого

function example_menu() {
  $items['admin/config/example'] = array(
    'title' => 'Example',
    'description' => 'example configuration',
    'page callback' => '_my_page_content_function',
    'access arguments' => array('administer example'),
    'file' => 'example.admin.inc',
    'file path' => drupal_get_path('module', 'example'),
  );
  return $items;
}

function _my_page_content_function(){
 return drupal_get_form('example_admin_settings') ; 
} 

function example_admin_settings($form, $form_state) {
  ... return my form 
}

в вашем примере вы просите drupal создать страницу, и содержимое этой страницы - это содержимое, которое возвращается функцией drupal_get_form, когда мы передаем ей аргумент example_admin_settings.

РЕЗЮМЕ:

page callback - это имя функции, которая возвращает содержимое нашей страницы, когда мы передаем аргумент page aruguments в

извините за мой английский мммм нужно больше деталей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...