Drupal 6:template.php重定向

时间:2010-01-06 14:44:57

标签: php templates drupal-6

我在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错误 - 没有错误)

这是否发生在任何人身上??

1 个答案:

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