用户登录

我现在已经知道了自己想要修改的表单的名字,还有要修改的元素的名字 .. 下面我们可以使用一下 hook_form_FORM_ID_alter .. 使用这个 hook 可以这样 .. 把这个函数里面的 hook 替换成模块或主题的名字,中间的 FORM_ID 替换成要修改的表单的 ID 号 ..

在这个 module 文件里面,先添加一个 php 的开始标记 ..

然后去定义一个函数 .. 名字先用模块的名字或者主题的名字开头 .. 我这里就是 ninghao_demo ..

这个名字就代替了 hook 函数里面的那个 hook .. 然后是一个 form .. 接着是表单的 id 号,我要修改的表单的 id 是 search_block_form .. 后面再加上一个 alter ..

它有几个参数 .. 一个是用引用方式传递进来的 $form .. 还有一个是 $form_state .. 它是在 \Drupal\Core\Form\FormStateInterface ..

在这个函数里面我们可以修改一下 search_block_form 这个表单里的 keys 这个元素 .. 我想在它的上面添加一个 placeholder 属性 ... 可以这样 ..

$form['keys'] .. 要往这个数组里添加的属性是 #placeholder .. 属性的值是 t('搜索') ..

保存一下 ... 然后再去重建一下 Drupal 的缓存 ...

回到前台的页面 .. 注意这个搜索框的变化 .. 刷新一下 .. 现在你会看到它里面有了一个点位符的文字 .. 这是因为我们修改了这个表单,在它的搜索框元素上添加了一个 placeholder 属性 ...

修改表单:hook_form_FORM_ID_alter《 Drupal 8 开发:表单 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点