it-swarm-ko.tech

hook_form_alter를 사용하여 다중 값 CCK 필드의 기본값 설정

이전에 CCK 필드 속성 페이지의 기본값 PHP 필드를 사용하여 잘 작동하는 다중 값 기본값을 정의했습니다. 그러나 코드가 이제 너무 복잡 해져서 인수를 전달해야합니다. CMS 내에서 개발이 불가능 해 지므로 기능을 사용자 지정 모듈로 옮기고 싶습니다.

단일 값 CCK 필드에 대한 기본값을 설정하기 위해 hook_form_alter를 성공적으로 사용하고 있으므로 문제가되지 않습니다. 내가 궁금한 것은 $ form이 hook_form_alter에 전달 될 때 첫 번째 요소 (0 또는 $ form [ 'field_myfield'] [0]) 만 존재하는 반면 0에서 x까지의 기본값이 있어야한다는 것입니다.

필요한만큼 기본값에 대해 요소 0을 복제하는 것이 가장 좋은 방법입니까? 아니면 기본값을 설정하기 전에 빈 필드의 초기 수를 설정하는 데 사용해야하는 또 다른 후크가 있습니까?

고마워

2
DanH

CCK가 양식 요소를 완전히 빌드 한 후에 변경 코드가 실행되도록하려면 #after_build를 사용해야 할 수도 있습니다. 이런 식으로 시도

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  $form['field_myfield']['#after_build'][] = 'mymodule_after_build';
}

function mymodule_after_build(&$form_element, &$form_state) {
  // Have a look at the element with devel's dsm
  dsm($form_element);

  // Code to adjust your form element here...

  return $form_element;
}

나는 위의 구문에 100 %가 아닙니다. hook_form_alter () and CCK fields 라는 제목의이 기사를 보시기 바랍니다.

4
Tom Kirkpatrick