2017-09-06 27 views

回答

0

这是可能的有钩形式改变:

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 
    ]; 

} 
0

我已经写下面的Drupal贡献模块来解决该问题:

Link Field Autocomplete Filter

模块增加了对滤波的链接字段配置自动填充字段中允许的 内容类型。

您可以使用Drupal核心更新管理器模块手动安装该模块使用Drupal的后端(必须启用): http://yourSite/admin/reports/updates/install 并按照指示。

使用Drush,你可以安装它:

drush dl link_field_autocomplete_filter; // download 
drush en link_field_autocomplete_filter; // enable the module 

你也可以我们作曲家下载模块:

composer require drupal/link_field_autocomplete_filter 

只要启用此功能模块,以及一系列的复选框(一个用于每种内容类型)将出现在链接字段字段实例配置表单中。如果您没有选中,则所有内容类型都会在自动填充中显示为建议。否则只会显示那些被选中的项目

+0

虽然这个链接可能回答这个问题,但在Stack Overflow中只提供链接的答案,你可以通过获取链接的重要部分并将其放入你的答案来改善这个答案,这确保你的答案仍然是一个答案,如果链接被更改或删除:) – WhatsThePoint

+0

对不起,但我做到了!这不是一个链接唯一的答案!我命名了Drupal模块,并且引用了模块的功能和精确的描述!是的,链接可能会改变,尽管这种可能性不大。这就是我命名模块的原因。在这种情况下,可以谷歌模块的名称。同样,如果我发布整个代码,答案的有效性可能会在未来发生变化。 – jmux

+0

如果你的答案没有提供任何信息,如果你变得无效,这不会被视为堆栈溢出的最佳做法 – WhatsThePoint