Ok ... Drupal의 가장 흥미롭고 복잡한 기능 중 하나 인 양식 API 또는 - 간결성 - FAPI를 입력하려고합니다. 먼저 몇 가지 이론과 솔루션! :)
Drupal의 모든 양식은 매개 변수로 배열을 허용하는 drupal_get_form()
함수에 의해 작성됩니다. 배열의 각 필드는 기본적으로 양식의 필드이며 각 필드에는 여러 가지 고유 한 특성이 있습니다. 각 필드는 필드의 추가 특성을 정의합니다 (예 : 필수 또는 선택 사항). 예 - 텍스트 필드의 경우 ... 얼마나 커야합니까? 양식 배열의 구조에 대한 자세한 설명은 여기 on the drupal site에서 확인할 수 있습니다.
폼 API의 장점은 폼을 렌더링하는 함수가 빌드 프로세스 중 여러 순간에 여러 가지 후크를 호출하므로 폼을 마무리하기 전에 폼을 "변경"하기 위해 이러한 후크를 구현할 수 있다는 것입니다. 브라우저로 보냈습니다.
양식 변경에 가장 일반적으로 사용되는 후크는 hook_form_alter()
및 hook_form_FORM_ID_alter()
입니다. 첫 번째는 drupal 엔진에 의해 처리 된 모든 양식에 대해 실행되며, 후자는 "FORM_ID"라는 특정 양식에 대해서만 실행됩니다. 양식 API의 내부 작업에 대한 자세한 내용은 알지 않지만 here you can read more.
귀하의 구체적인 경우, 귀하가 Drupal과 함께 제공되는 표준 "사용자 차단"을 사용하고 있다고 가정합니다. 이 경우 당신이 유사한 형태로 hook_form_FORM_ID_alter()
를 구현하는 제안이 도움이
mymodule_form_user_login_block_alter(&$form, $form_state) {
$form['pass']['#size'] = 43;
}
희망을! :)
출처
2009-11-14 12:15:37
mac
다른 대답이 더 잘 작동하면 그 때 사용해야합니다. 나는 단지 2 개의 대답이 서로 바뀔 수 없다는 것을 강조하고 싶다. 그 중 하나는 하나의 테마에만 적용되는 솔루션이며, 이는 사용할 모든 테마에 적용됩니다. Drupal이 데이터와 상호 작용할 수 있도록 Drupal 코어에 연결합니다 (예 : 동일한 양식으로 연결된 모듈이있는 경우 동일한 길이의 필드를 만들 수 있음). [당신이 다른 스레드에서 FAPI "쓰레기"라고 불렀을 때, 당신이 드루팔 (Drupal을 배우고 싶다면 자멸적인 태도라고 알고 있습니다. :) – mac
haha, touché! 그렇습니다. 근본적인 차이점을 이해하지 못했지만 여전히 FAPI를 이해하지 못했습니다. 광기 야! devel 모듈은 일부 기능을 지원하지만 여전히 미친 기능입니다. 나는 css-tricks.com을 통해 css에 대해 알고있는 것을 배웠다. 누군가가 Drupal 블로그를 시작하고 모듈을 스크린 케스트에 올려야한다고 생각합니다. 확실히 수요가있다. 나는 방금 설치 한 많은 수의 모듈을 통해 내가 원하는 것을 얻을 수 있기를 바라고 있지만, 나는 카드 하우스를 만들고있는 것처럼 느껴진다. 어쨌든 도와 주셔서 다시 한번 감사드립니다. 너 트위터 야? – Jon
나는 짹짹도 FB도하지 ... 그래서 내가 얻는 가장 "사회"입니다! ;) 시각적 유형으로 Drupal에 대해 더 자세히 알고 싶다면 최근 Drupalcons (워싱턴 DC 및 파리)의 비디오 녹화를 즐길 수 있습니다. 오디오는 때로는 끔찍하지만 꽤 많이 다루어집니다. Drupal dojo는 시원한 Drupal 수업 사이트 였지만 지금은 어떻게 든 죽었습니다. 나는 개인적으로 "Pro Drupal Development"사본을 구입하는 것이 가치가 있다는 것을 발견했습니다. 링크 : http://drupaldojo.com/ - http://drupal.org/node/385952 - http://www.drupalbook.com/ – mac