我正在尝试为drupal中的节点添加表单设置自定义标题,由于某种原因它完全没有,我的template.php文件中的代码是:
function templatename_form_alter($form_id, &$form)
{
if ($form_id == 'contenttypename_node_form') {
drupal_set_title('my custom title');
}
}
答案 0 :(得分:3)
Drupal 6-8中hook_form_alter
的参数为&$form, &$form_state, $form_id
。您正在使用$form_id, &$form
的Drupal 5形式。
所以你想要的是这个:
function yourtheme_form_alter(&$form, &$form_state, $form_id) {
switch ($form_id) {
case 'contenttype_node_form':
drupal_set_title("Your title.");
break;
}
}
答案 1 :(得分:1)
只是为了补充一点,上面的方法效果很好,但是如果用户编辑节点,它也会刷出指定的标题,以便进一步放置这个项目
function yourtheme_form_alter(&$form, &$form_state, $form_id) {
switch ($form_id) {
case 'contenttype_node_form':
if ($form['nid']['#value'] != '') {
drupal_set_title("Edit " . $form['title']['#default_value']);
}
else {
drupal_set_title("Your name.");
}
break;
}
}