我正在尝试在 drupal 中为节点添加表单设置自定义标题,由于某种原因它完全没有任何作用,我的 template.php 文件中的代码是:
function templatename_form_alter($form_id, &$form)
{
if ($form_id == 'contenttypename_node_form') {
drupal_set_title('my custom title');
}
}
hook_form_alter
Drupal 6-8 中的参数是&$form, &$form_state, $form_id
. 您正在使用 Drupal 5 形式的$form_id, &$form
.
所以你想要的是这样的:
function yourtheme_form_alter(&$form, &$form_state, $form_id) {
switch ($form_id) {
case 'contenttype_node_form':
drupal_set_title("Your title.");
break;
}
}
补充一点,上面的方法效果很好,但是如果用户编辑一个节点,它也会指定指定的标题,以进一步放置这个项目
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;
}
}