Drupal 6: перенаправления template.php - PullRequest
0 голосов
/ 06 января 2010

Я не слишком много работал с файлом template.php при установке Drupal, но на этот раз мне нужно создать тему для формы узла. Следуя превосходному руководству, которое я нашел на 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 Ответ

1 голос
/ 06 января 2010

Немного повозившись, выяснилось, что ей не нравится вызывать функцию, а затем оценивать оператор 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' ));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...