Drupal, template.php откуда берутся имена $ form? - PullRequest
2 голосов
/ 16 июня 2010

Я хочу настроить свои внутренние формы Drupal.

Я использую файл template.php .. т.е.

  $form['menu']['#collapsed'] = true;
  $form['author']['#collapsed'] = true;
  $form['buttons']['#weight']  = 100;

Но мне было интересно, откуда названия разделов (меню, автор, кнопки), откуда.(Они не являются идентификаторами или классами в HTML-коде, поэтому я предполагаю, что есть индекс со всеми именами, хранящимися где-то.

Где я могу получить полный список имен разделов?

Например,как называются разделы редакции и публикации? редакция, публикация, публикация не работают.

спасибо

Ответы [ 2 ]

2 голосов
/ 16 июня 2010

Если я не ошибаюсь, вы хотите увидеть структуру некоторых форм.У каждой формы в друпале есть идентификатор.Во-первых, вам нужно знать form_id.Это можно сделать с помощью пользовательского модуля и реализации hook_form_alter:

function mymodule_form_alter(&$form, $form_state, $form_id) {
    drupal_set_message($form_id);
}

Когда вы найдете Id, измените фрагмент, чтобы распечатать структуру формы:

<code>function mymodule_form_alter(&$form, $form_state, $form_id) {
    if ($form_id == 'a_form_id') {
        drupal_set_message(print_r('<pre>'. $form .'
', true));// Если вы установили модуль Devel, следующая строка будет более читабельной: // dpm ($ form);}}

Теперь, когда вы переходите на страницу, содержащую форму, вы видите ее структуру. Каждый элемент формы представлен в виде массива, например, текстовое поле может быть таким:

$form['name'] = array(
    '#type' => 'textarea',
    '#title' => t('Username')
);

Для получения дополнительной информации обратитесь к API формы на веб-сайте Drupal.

0 голосов
/ 16 июня 2010

Я не думаю, что на самом деле существует система именования с такими формами. Имена, скорее всего, используются при определении формы, которая может быть чем угодно. Ядро Drupal может быть согласованным, но если вы хотите добавить модули contrib, вы ни в чем не можете быть уверены.

...