以Drupal 8块形式添加字段链接

时间:2017-01-23 23:08:10

标签: drupal-8

我想在自定义块中有一个字段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)的类型,我的字段将正确呈现。 默认链接模块已启用。

链接字段类型仅在节点表单中可用吗? 我明白为什么。

1 个答案:

答案 0 :(得分:3)

查看Link课程。您需要指定#url属性:

$form['key_2'] = [
  '#title' => $this->t('key 2 link'),
  '#type' => 'link',
  '#url' => \Drupal\Core\Url::fromRoute('some.route.name'),
];