В настоящее время ссылка на объект не поддерживает фильтрацию (через представления, подобные ссылкам).Я должен отфильтровать возвращенный результат списков опций вручную через hook_form_alter.
$new_options = array(1 => 'One', 2 => 'Two', 3 => 'Three'); // while old values without filtering results in 10 items
$form['field_entityreference'][$lang]['#options'] = $new_options;
Это отлично работает на переднем конце, но когда я смотрю через dsm ($ form); старые значения все еще там.
Пара попыток безрезультатно:
if ($old_options = $form['field_entityreference'][$lang]['#options']) {
foreach ($old_options as $key => $old_option) {
unset($form['field_entityreference'][$lang]['#options'][$key]);
}
}
Или даже unset($form['field_entityreference'][$lang]['#options']);
С помощью array_diff_key все еще сохраняются старые опции.
Внешний интерфейс просто отличнопоказаны только новые параметры, но мне нужно исключить ненужные из источника, поскольку правила всегда оцениваются как истина, если они не полностью удалены, что является неожиданным.
Как удалить устаревшие старые значения, чтобы тольконовые значения хранятся даже в бэкэнде?
Полезной функции еще нет: http://drupal.org/node/1085704. Любая подсказка будет очень признательна.Спасибо