我想在自定义块中有一个字段link
。这是我的代码:
public function blockForm($form, FormStateInterface $form_state)
{
$form['key_1'] = [
'#title' => $this->t('Key 1 label'),
'#type' => 'textfield',
'#default_value' => '',
'#required' => false,
];
$form['key_2'] = [
'#title' => $this->t('key 2 link'),
'#type' => 'link',
];
return $form;
}
现在,当我进入admin / structure / block / manage / myblock时,我可以看到我的key 1
字段。 key 2
未呈现。如果我更改任何其他类型(textfield,textarea,file_managed)的类型,我的字段将正确呈现。
默认链接模块已启用。
链接字段类型仅在节点表单中可用吗? 我明白为什么。
答案 0 :(得分:3)
查看Link课程。您需要指定#url
属性:
$form['key_2'] = [
'#title' => $this->t('key 2 link'),
'#type' => 'link',
'#url' => \Drupal\Core\Url::fromRoute('some.route.name'),
];