Есть тип материала, заголовком которого должен быть заголовок ноды из другого типа материала.
Чтобы не вводить постоянно одно и то же, нужно сделать чтобы title был с автозаполнением и брал заголовки у другого типа материала.
Например, есть тип материала "Склад", куда добавлены все изделия.
И есть тип материала "брак" в который каждый день вписывается % брака по каждому изделию.
Когда мы создаем "брак", то по сути у нас title берется из title "Склад".
Подскажите, как можно реализовать.?
Комментарии
<?php
function MYMODULE_form_node_MYTYPE_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['title']['#type'] = 'entity_autocomplete';
$form['title']['#target_type'] = 'node';
}
?>
Автозавершение заработало, но после сохранения выдает ошибку, что поле title обязательно для заполнения, хотя оно заполнено...
И ещё вопрос, как сделать чтобы автозавершение было только по определенному типу материала, а не по всем?
<?php$form['title']['#selection_settings']['target_bundles'] = 'MY_TYPE';?>
такая строчка не сработала, всё равно шарит по всем типам материала
<?php
function MYMODULE_form_node_MYTYPE_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['title'] = array(
'#type' => 'entity_autocomplete',
'#target_type' => 'node',
'#selection_settings' => array(
'target_bundles' => array('contenttype'),
),
);
}?>
Теперь автозаполнение работает как надо, но не может сохранить материал.
не может сохранить потому что скорее всего после изменения пользователем - тайтл пуст
Вроде тайтл не пустой, почему он его считает пустым?