我正在努力学习Drupal 8.所以现在,我正在“建立”表格。 我创建了一个模块。 INSIDE 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,
);
...
我收到以下错误:
错误: 致命错误:在第16行的C:\ xampp \ htdocs \ drupalwebsite \ modules \ custom \ mymodule \ src \ Form \ form1.php中调用未定义的函数Drupal \ mymodule \ Form \ drupal_set_title()
第16行是:
drupal_set_title(t('This is a Title'));
问题在于标题。我试图解决它,但我不能。 谁知道为什么? 非常感谢
答案 0 :(得分:1)
根据https://www.drupal.org/node/2067859,在D8中删除了drupal_set_title()。您是否尝试过该链接中提到的替代方法,如下所示:
$form['#title'] = $this->t('This is a Title');