有没有人知道如何将链接字段的自动填充建议限制为仅限某些包 - 不是全局的,而是每个链接字段实例?我几乎找到了自定义https://github.com/minnur/Alter-Entity-Autocomplete的解决方案,但这对于所有自动填充都是全局的,我需要以某种方式获取调用链接字段实例。
答案 0 :(得分:0)
这可以使用hook form alter:
function hook_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
// if $form_id == 'xyz'
$form['field_mylink']['widget'][0]['uri']['#selection_handler']="default:node";
$form['field_mylink']['widget'][0]['uri']['#selection_settings']=[
'target_bundles'=>['article'=>'article', 'page'=>'page'], //etc
];
}
答案 1 :(得分:0)
我写了以下Drupal贡献模块来解决问题:
Link Field Autocomplete Filter
模块添加了一个链接字段配置,用于过滤允许的配置 自动填充字段中的内容类型。
您可以使用Drupal后端使用drupal核心 Update Manager模块(必须启用)手动安装模块: http://yourSite/admin/reports/updates/install 并按照那里的说明进行操作。
使用Drush,您可以使用以下命令安装:
drush dl link_field_autocomplete_filter; // download
drush en link_field_autocomplete_filter; // enable the module
您也可以使用Composer下载模块:
composer require drupal/link_field_autocomplete_filter
只需启用该模块,一系列复选框(每种内容类型一个)将出现在“链接字段”字段 - 实例配置表单中。如果您选中“无”,则所有内容类型将在自动填充中显示为建议。否则只会显示已检查的那些。