在自定义内容实体中,我已经定义了这个字段。
$fields['from_seliste_id'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Offreur'))
->setDescription(t('Le SÉListe qui a rendu le service (qui reçoit les graines)'))
->setSetting('target_type', 'person')
->setSetting('handler', 'views')
->setSetting('handler_settings', [
'view' => [
'view_name' => 'sel_selistes',
'display_name' => 'entity_reference_1',
],
])
->setDisplayOptions('view', array(
'weight' => $weight,
))
->setDisplayOptions('form', array(
'weight' => $weight,
'type' => 'options_select',
))
->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE)
->setRequired(TRUE);在相应的表单中,该字段显示为需要的下拉列表,其中填充了视图sel_selistes的结果:

我想创建另一个具有相同功能的表单。我应该如何在表单中编码该字段?
$form['mySelectField'] = array(
'#type' => 'select',
'#options' => [], <-- ??????
'#title' => $this
->t('whatever'),
);发布于 2019-05-07 10:26:26
我没有时间给出确切的答案,但也有一些类似的问题。
// Programmatically execute view
$view = views_get_view('sel_selistes'); // view machine name
$view->set_display("entity_reference_1"); // view display name
// $view->set_arguments($arg) // looks like you don't have arguments.
$view->execute();
$view_results = []; // create array
// loop through results
foreach ($view->result as $row_id => $row) {
// some php magic so you add to array like this $view_results[$nid_value] = $some_field_row_value;
}
$form['my_select_field'] = array(
'#type' => 'select',
'#options' => $view_results,
'#title' => $this
->t('whatever'),
);https://drupal.stackexchange.com/questions/280857
复制相似问题