假设我有一个名为“product”的节点。当我创建这样的节点时,它将始终显示:“创建产品”作为节点的标题。在创建节点时如何更改此标题?
答案 0 :(得分:6)
你的意思是你有一个content type“产品”?
创建“产品”类型的节点时,在“{3}}中设置<创建产品”标题:// ...
drupal_set_title(t('Create @name', array('@name' => $types[$type]->name)));
$output = drupal_get_form($type .'_node_form', $node);
// ...
至少有两个选项可以改变这个:
node_add($type)
表示)
t()
- 搜索locale_custom_strings_
或$form['title']['#title'] = 'foobar'
- 你只需要drupal_set_title('foobar')
)。这有点困难,因为你必须http://drupal.org/project/stringoverrides。 答案 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]模块。它有点像黑客但它很简单,并且有一个很好的用户界面来改变这一点 - 为了简单起见,有一些事情可以说: - )
答案 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。