我在Drupal安装中的template.php文件中没有做太多工作,但这次我需要主题一个节点表单。根据我在http://drupal.org/node/601646找到的优秀指南,我设置了以下代码段。
function amity_island_theme($existing, $type, $theme, $path) {
if ((arg(0) == 'node') && (arg(1) == 'add') && (arg(2) == 'service-request')){
return array(
'service_request_node_form' => array(
'arguments' => array('form' => NULL),
'template' => 'node-add_service_request' ));
}
}
在添加if语句之前,站点为每个请求提供了node-add_service_request.tpl.php。在我添加IF语句后,我的屏幕刚刚变为白色(我有PHP错误 - 没有错误)
这是否发生在任何人身上??
答案 0 :(得分:1)
稍微修改一下,发现它不喜欢调用函数,然后评估if语句。当它被评估为FALSE时,它只返回一个空白的HTML骨架。使用Drupal,一旦发生这种情况,您必须进入数据库并手动擦除缓存表。简单地修复template.php文件将无法正常工作 - 您的屏幕仍会显示为白色。 答案是将IF语句放在函数之前......
if ((arg(0) == 'node') && (arg(1) == 'add') && (arg(2) == 'service-request')){
function amity_island_theme($existing, $type, $theme, $path) {
return array(
'service_request_node_form' => array(
'arguments' => array('form' => NULL),
'template' => 'node-add_service_request' ));
}
}