사용자 지정 엔터티를 만들고 CCK 필드를 사용하고 있습니다. 각 번들에는 고유 한 필드가 있습니다. 예 :양식 배열 내의 CCK 필드에 대한 무작위 경로 계층 구조 가져 오기
function MYMODULE_install() {
// Check if our field is not already created.
if (!field_info_field('field_myField')) {
$field = array(
'field_name' => 'date_field',
'type' => 'list_text',
);
field_create_field($field);
}
//Enable is executed only once.
function bundle_callback_enable() {
// Create the instance on the bundle.
$instance = array(
'field_name' => 'date_field',
'entity_type' => 'payment_method',
'label' => 'Expiration Date',
'bundle' => 'card',
'required' => TRUE,
'settings' => array();
field_create_instance($instance);
}
내 번들은 개별 모듈에서 만들어 지므로 각 설치 파일에서 각 필드를 만듭니다.
어제 그 필드에 유효성 검사 콜백 함수를 추가하려고했는데 형식 배열 내에서 이상한 것을 보았습니다.
$form[field_name]['und'][0][value] //<! expectable
하지만 필드 유형은 = 'list_text'경로 만 가지고 : 유형 필드 = "텍스트"경로를 가지고 내가 어떤 해결책을 찾을 수 없습니다
$form[field_name]['und'] //<! unexpectable
을하고 난 해결했습니다 그것과 함께 :
function &get_cck_path_value($field_name, &$form_path) {
$field = null
if (isset($form_path[$field_name][LANGUAGE_NONE])) {
$field = &$form_path[$field_name][LANGUAGE_NONE]
}elseif(isset($form_path[$field_name][LANGUAGE_NONE][0])) {
$field = &$form_path[$field_name][LANGUAGE_NONE][0]['value'];
}
return $field;
}
나는이 접근법을 좋아하지 않는다. 너무 행운이다. 이것이 기능이나 버그인지 알려주시겠습니까? 언제 값을 넣을 지 결정할 수 없습니다 (모든 프로세스는 "field_attach_form (...)"을 통해 수행됩니다)?
이와 같은 문제가 발생 했습니까?
미리 감사드립니다.
탠덤.
약식 양식 필드가 아닙니다. 내가 dsm 함수를 사용하고 있는데 list_type 타입의 필드에서 이것을보고있다 : – thandem
hierarchy (http://pastebin.com/YQL32WXF) – thandem