У меня есть представление drupal, в котором вверху есть поле множественного выбора. В зависимости от выбора строки сетки и значения поля множественного выбора над строками сетки выполняются определенные действия. Все это основано на модуле VBO. Вид выглядит следующим образом:
Поле множественного выбора — это список заголовков узлов определенного типа контента с именем «level2». Я взял заголовок узла «level2» и создал этот множественный выбор с помощью следующего кода:
// Узлы запроса
$storage = Drupal::getContainer()->get('entity_type.manager')->getStorage('node');
$nids = $хранилище->getQuery();
// Собираем опубликованные узлы Level2 и сортируем по названию
$nids = $nids->условие('тип', 'уровень2')
->условие('статус', 1)
->сортировать('level2_title')
->выполнить();
// Если узлов нет, идем дальше
если (!$ниды) {
вернуть ЛОЖЬ;
}
// Начнем создавать параметры для нашего списка выбора
$опции = [];
$nodes = $storage->loadMultiple($nids);
// Помещаем заголовки в список выбора
foreach ($nodes как $node) {
$options[$node->id()] = $node->getTitle();
}
$form['exposed_input']['ka_types'] = [
'#тип' => 'выбрать',
'#options' => $options,
'#множественный' => ИСТИНА,
'#title' => 'Публиковать в основных действиях:',
];
array_unshift($form['#submit'], 'mymod_form_submit');
}
При выполнении определенного действия с полем множественного выбора в файле действий я читаю значение множественного выбора как:
$ka_selected = \Drupal::state()->get('ka_types');
Однако я не могу прочитать одно и то же поле из сетки. выполнение dpm($entity) и dpm($node) вообще не показывает это поле в сетке. Любая помощь в том, как прочитать значение этого поля из сетки просмотра?