2

我正在尝试在 drupal 中为节点添加表单设置自定义标题,由于某种原因它完全没有任何作用,我的 template.php 文件中的代码是:

function templatename_form_alter($form_id, &$form)
{
    if ($form_id == 'contenttypename_node_form') {
        drupal_set_title('my custom title');
    }
}
4

2 回答 2

3

hook_form_alterDrupal 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;
   }
 }
于 2012-06-03T16:33:48.963 回答
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;
  }
}
于 2012-06-14T19:36:25.607 回答