내가해야 할 일은 필드 위젯에 노드에 대한 링크를 추가하는 것입니다 (노드는 필드를 올바르게 컴파일하기위한 형식화 된 지침을 포함하고 있습니다).Drupal의 필드 위젯에 요소 추가하기 8
지금까지 내가 타사 설정을 사용하여 필드 구성 형태로 노드 참조 필드를 추가 할 수있었습니다 :
이제function mymodule_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
if ($form_id === 'field_config_edit_form' && $form_state->getFormObject()->getEntity()->get('entity_type') == 'myentity') {
$field = $form_state->getFormObject()->getEntity();
$help_page_id = $field->getThirdPartySetting('mymodule', 'help_page_id');
$form['help_page_id'] = array(
'#type' => 'entity_autocomplete',
'#title' => t('Help page'),
'#target_type' => 'node',
'#selection_handler' => 'default',
'#selection_settings' => array(
'target_bundles' => array('help_page'),
),
'#default_value' => $help_page_id ? Node::load($help_page_id) : NULL,
'#weight' => 100,
);
$form['#entity_builders'][] = 'mymodule_form_field_config_edit_form_builder';
}
}
내가 양식을 표시 할 때이 정보를 검색하는 문제에 봉착하고 링크를 표시하기 위해 필드 위젯을 변경합니다.
function mymodule_field_widget_form_alter(&$element, \Drupal\Core\Form\FormStateInterface $form_state, $context) {
}
내가 필드 구성 개체를로드 할 것 같아요,하지만 난 방법을 모르는 : hook_field_widget_form_alter를 사용 , 나는이 논쟁에서 사용자 지정 구성 값을 얻을 수 없습니다.
나는 코드를보고 문제를 쉽게 찾을 수있을 것 같아요. 말한대로 문제를 알기가 어렵거나 코드 또는 캐싱 문제에 문제가있을 수 있습니다. – penyaskito
원본 코드를 코드로 편집했습니다. 감사. –