0
當前entityreference不支持篩選(通過類似引用的視圖)。我必須通過hook_form_alter手動過濾返回的選項列表結果。Drupal覆蓋現有的選項列表值
$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($形式)查看;,舊值仍然存在。
一對夫婦嘗試無果:
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。 任何提示將非常感激。謝謝