2010-06-16 4 views
2

Drupal 백엔드 양식을 사용자 정의하고 싶습니다. 내가 template.php 파일을 사용하고

.. 즉

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

하지만이 섹션 이름 (메뉴, 저자, 버튼), 어디에서 온에서 궁금 해서요. (그들은 ID 또는 HTML 코드의 클래스없는, 그래서 어딘가에 저장되어있는 모든 이름을 가진 인덱스가있는 것 같아요. 내가 섹션 이름의 전체 목록을 얻을 수 있습니다

? 예를 들어

, 이름은 무엇입니까 개정 및 출판 섹션을 위해? '개정', '게시', '출판'는 작동하지 않습니다.

감사

내가 거기에 실제로 생각하지 않는다

답변

0

그런 형태의 네이밍 시스템입니다. 이름은 폼을 정의 할 때 사용되는 것과 거의 비슷할 것입니다. 실제로 어떤 것이 든 될 수 있습니다. 드루팔 코어는 일관성이있을 수 있지만, odules, 당신은 아무것도 확신 할 수 없습니다.

+0

저는 실제로 이름을 읽을 수있는 곳을 이해하려고합니다. 예를 들어 "개정"섹션의 무게를 변경해야합니다. 다른 이름을 시도 할 수는 있지만 매우 효율적인 방법은 아닙니다. – aneuryzm

+0

devel 모듈의'dpm' 또는 그냥 평범한'print_r'을 사용하여 변수를 검사 할 수 있습니다. – googletorp

+0

멋진 감사, print_r – aneuryzm

2

내가 잘못 본 것이 아니라면 어떤 형태의 구조를보고 싶습니다. Drupal의 각 양식에는 ID가 있습니다. 먼저 form_id를 알아야합니다. 당신은 hook_form_alter의 사용자 지정 모듈과 구현이 작업을 수행 할 수 있습니다

당신은 이드, 형태 구조를 출력합니다하기 위해 조각을 변경 발견
function mymodule_form_alter(&$form, $form_state, $form_id) { 
    drupal_set_message($form_id); 
} 

: 당신이에 갈 때 이제

function mymodule_form_alter(&$form, $form_state, $form_id) { 
    if ($form_id == 'a_form_id') { 
     drupal_set_message(print_r('<pre>'. $form .'</pre>', true)); 
     // If you have installed Devel module, following line is much more readable: 
     // dpm($form); 
    } 
} 

을 드루 파에서 양식 API에 대한

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

봐 : 페이지 양식을 포함, 당신은 structure.Each 양식 요소가 예를 들어, 텍스트 필드는 다음과 같이 될 수있는 배열로 표현되고있어 참조 자세한 정보는 웹 사이트를 참조하십시오.

관련 문제