在尝试覆盖节点的标题时,应该在哪里调用drupal_set_title()?

时间:2010-12-21 20:34:45

标签: php drupal

我正在尝试使用drupal_set_title(...)覆盖节点页面的标题,但我不确定应该在哪里调用此方法。

目前我在theme_preprocess_page(...)中调用它,但是在我覆盖它之后它似乎被重写并且被更改回节点的标题。

我假设我可以使用另一个钩子来调用drupal_set_title(...)以防止我的自定义标题被覆盖?或许还有另一种解决这个特殊问题的方法?

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

如果您在浏览器标签/栏中讨论的页面标题与节点标题不同,请查看页面标题模块。

http://drupal.org/project/page_title

答案 1 :(得分:1)

drupal_set_title()

中尝试theme_preprocess_node() 嗯,不行。

您可以在$vars['head_title']内设置theme_preprocess_node(),这肯定有效。

如果放在drupal_set_title()

内,

node.tpl.php将有效

答案 2 :(得分:0)

如果上述方法均无效,请尝试此操作:

function YOUR-THEME_process_page(&$variables) {
  if (arg(0) == 'node' && arg(1) == 'add') {
    switch(arg(2)) {
      case 'YOUR-CONTENT-TYPE':
       $variables['title'] = t('New Record');
    }
  }
}