在Drupal中更改节点创建标题?

时间:2009-09-08 07:56:05

标签: drupal drupal-6 content-type

假设我有一个名为“product”的节点。当我创建这样的节点时,它将始终显示:“创建产品”作为节点的标题。在创建节点时如何更改此标题?

7 个答案:

答案 0 :(得分:6)

你的意思是你有一个content type“产品”?

创建“产品”类型的节点时,在“{3}}中设置<创建产品”标题:

// ...
drupal_set_title(t('Create @name', array('@name' => $types[$type]->name)));
$output = drupal_get_form($type .'_node_form', $node);
// ...

至少有两个选项可以改变这个:

答案 1 :(得分:5)

这应该在您的自定义模块中执行,只需特定于内容类型。

 function your_module_form_alter(&$form, $form_state, $form_id) {
      if ($form_id == 'contenttype_node_form') {
        drupal_set_title(t("Title you prefer"));
      }
    }

答案 2 :(得分:2)

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

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');
    }
  }
}

答案 3 :(得分:1)

尝试

yourmodule_form_product_node_form_alter(&$form, $form_state)
{
  drupal_set_title($foobar);
}

答案 4 :(得分:1)

我认为您的意思是要更改“创建产品”一词

要获得快速简便的解决方案,您可以使用[string override] [1]模块。它有点像黑客但它很简单,并且有一个很好的用户界面来改变这一点 - 为了简单起见,有一些事情可以说: - )

[1]:http://drupal.org/project/stringoverrides字符串覆盖

答案 5 :(得分:1)

我提供了一个解决这个问题的模块。查看Node Add Title

希望它有所帮助。

答案 6 :(得分:0)

试试这个,

function hook_node_view($node, $view_mode, $langcode) { 
  if (arg(0) == 'node') {
  $nid = arg(1);
  .
  .
  .
  .
  drupal_set_title($title);
}  

}

这是工作。

谢谢, Latika S。