【问题标题】:Add field link in a Drupal 8 block form在 Drupal 8 块表单中添加字段链接
【发布时间】:2017-01-23 23:08:10
【问题描述】:

我想在自定义块中有一个字段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 未渲染。如果我更改任何其他(文本字段、文本区域、文件管理)的类型,我的字段将正确呈现。 默认链接模块已启用。

链接字段类型是否只能用于节点形式? 我能理解为什么。

【问题讨论】:

    标签: drupal-8


    【解决方案1】:

    看看Link 类。您需要指定#url 属性:

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

    【讨论】:

    • 它直接呈现链接而不是链接小部件表单。
    • 然后改用'#type' => 'url'
    猜你喜欢
    • 1970-01-01
    • 2017-11-25
    • 2017-01-22
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多