在我的template.php文件中,我有这个:
function myadmintheme_theme(&$existing, $type, $theme, $path) {
return array(
'node_form' => array(
'arguments' => array('form' => NULL),
'template' => 'ccktype',
),
);
}
我在同一个目录中有一个ccktype.tpl.php:
<b>works!</b>
但是没有用,如果我进入node / add / ccktype我没有得到“工作!”信息.. 我尝试了一切!
任何帮助将不胜感激
答案 0 :(得分:5)
您需要覆盖的主题函数是ccktype_node_form,而不是node_form。节点模块维护的所有节点表单都映射到node_form函数以进行构建,但它们仍然具有唯一的表单ID。
答案 1 :(得分:1)
这是解决方案:
function myadmintheme_theme($existing, $type, $theme, $path) {
return array(
'ccktype_node_form' => array(
'arguments' => array('form' => NULL),
'template' => 'ccktype',
),
);
}
非常感谢伊顿!
答案 2 :(得分:1)
它开始为我工作,但经过一系列的试验。 :)
我正在使用Drupal 6&amp;我犯了为Drupal 5编写代码的错误。我在我的node-minister-edit.php中使用form_render
(用于D5)代替drupal_render
(用于D6)。
而template.php的下一个变化是功能
waffles_theme($existing, $type, $theme, $path){
return array( 'minister_node_form' => array( 'arguments' => array('form' => NULL), 'template' => 'node-minister-edit' ) );
}
请参阅数组参数template
已从minister
更改为node-minister-edit
,这是我的节点特定模板文件。在minister_node_form
中,第一个单词'部长'是我的内容类型。
正如Seb所说我在开始使用任何此类更改之前清除了缓存。 希望这有助于其他人:)
以下项目帮助了我:
1. http://drupal.org/node/601646
2. http://drupal.org/node/98253
答案 3 :(得分:0)
首先,看看Drupal没有缓存您的模块。转到管理&gt;网站配置&gt;性能,并清除所有缓存。
如果这不起作用,请尝试将文件重命名为node-add-ccktype.tpl.php。