drupal_set_title 无法以模块形式工作
drupal_set_title not working in module form
我正在努力学习 Drupal 8。所以现在,我是 "building" 表单。
我创建了一个模块。
内部 mymodule\src\Form
我有 form1.php
namespace Drupal\mymodule\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
class form1 extends FormBase {
public function getFormId() {
return 'myform1';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Your name'),
'#maxlength' => 30,
);
$form['Lastname'] = array(
'#type' => 'textfield',
'#title' => t('Your lastname'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}
和作品...
但是当我想在页面上添加标题时,在我的例子中并使用
链接到 my_module.routing.yml, 127.0.0.1/form1
...
public function buildForm(array $form, FormStateInterface $form_state) {
drupal_set_title(t('This is a Title'));
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Your name'),
'#maxlength' => 30,
);
...
我收到以下错误:
错误:
致命错误:在 C:\xampp\htdocs\drupalwebsite\modules\custom\mymodule\src\Form\form1.php 中第 16[=14= 行调用未定义的函数 Drupal\mymodule\Form\drupal_set_title() ]
第 16 行是:
drupal_set_title(t('This is a Title'));
所以问题出在标题上。我试图解决它,但我不能。
有人知道为什么吗?
非常感谢
根据 https://www.drupal.org/node/2067859,drupal_set_title() 在 D8 中被删除。您是否尝试过 link 中提到的替代方法,例如:
$form['#title'] = $this->t('This is a Title');
我正在努力学习 Drupal 8。所以现在,我是 "building" 表单。 我创建了一个模块。 内部 mymodule\src\Form 我有 form1.php
namespace Drupal\mymodule\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
class form1 extends FormBase {
public function getFormId() {
return 'myform1';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Your name'),
'#maxlength' => 30,
);
$form['Lastname'] = array(
'#type' => 'textfield',
'#title' => t('Your lastname'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}
和作品... 但是当我想在页面上添加标题时,在我的例子中并使用
链接到 my_module.routing.yml, 127.0.0.1/form1...
public function buildForm(array $form, FormStateInterface $form_state) {
drupal_set_title(t('This is a Title'));
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Your name'),
'#maxlength' => 30,
);
...
我收到以下错误:
错误: 致命错误:在 C:\xampp\htdocs\drupalwebsite\modules\custom\mymodule\src\Form\form1.php 中第 16[=14= 行调用未定义的函数 Drupal\mymodule\Form\drupal_set_title() ]
第 16 行是:
drupal_set_title(t('This is a Title'));
所以问题出在标题上。我试图解决它,但我不能。 有人知道为什么吗? 非常感谢
根据 https://www.drupal.org/node/2067859,drupal_set_title() 在 D8 中被删除。您是否尝试过 link 中提到的替代方法,例如:
$form['#title'] = $this->t('This is a Title');