ПОМОГИТЕ, ОШИБКА В ФУНКЦИИ include() - Notice: Undefined variable: ...
Здравствуйте, у меня проблема следующего рода:
Пытаюсь создать тему для Drupal7 из HTML шаблона. Для этого использовал модуль "Zenophile" для генерации дочерной темы "Zen".
В Page.tpl.php вставил фрагменты php для отображения контента,подключке стилей и скриптов:
Все отображаеться нормально но выдает ошибки на те строки, где вписан php код вывода переменных:
Вот пример:
Notice: Undefined variable: grddl_profile в функции include() (строка 81 в файле Z:\home\localhost\www\floorball\sites\all\themes\localhost_floorball\templates\page.tpl.php).
Notice: Undefined variable: head в функции include() (строка 82 в файле Z:\home\localhost\www\floorball\sites\all\themes\localhost_floorball\templates\page.tpl.php).
Notice: Undefined variable: head_title в функции include() (строка 83 в файле Z:\home\localhost\www\floorball\sites\all\themes\localhost_floorball\templates\page.tpl.php).
Notice: Undefined variable: styles в функции include() (строка 84 в файле Z:\home\localhost\www\floorball\sites\all\themes\localhost_floorball\templates\page.tpl.php).
Notice: Undefined variable: scripts в функции include() (строка 85 в файле Z:\home\localhost\www\floorball\sites\all\themes\localhost_floorball\templates\page.tpl.php).
Notice: Undefined variable: content в функции include() (строка 131 в файле Z:\home\localhost\www\floorball\sites\all\themes\localhost_floorball\templates\page.tpl.php).
Уже два дня голову над этим ломаю. Помогите пожалуйста решить проблему
Комментарии
Такая же беда( Все нормально отображается а откуда ошибки непойму(
Вообщем я даже не видя кода шаблона могу сказать что проблема в условиях. В друпале 6 в темах часто юзаеться код типа
<?php if($node):?>
<?php print $node->type; ?>
<?php endif; ?>
Вот друпал 7 материться на эти условия. Перепишите в виде:
<?php if(isset($node)):?>
<?php print $node->type; ?>
<?php endif; ?>
Все ошибки должны исчезнуть.
Спасиииибо
Мне помогло, когда в тему добавил файлик
maintenance-page.tpl.php
Просто скопированный из другой темы
maintenance-page.tpl.php
Далее почистить кэш Весь
и браузера тоже, например у меня в фаер фоксе тоже ошибки оставались, пока не перешел на другую страницу вообще.
Тоже только начал осваивать темизацию на друпале 7.
Все делал раньше на 6-ке.
Сори если ввел в заблуждение.
добавление файла
maintenance-page.tpl.php
не поможет
Уберите лишнее:
Дело в том что в page.tpl.php может быть часть
<body>
и до</body>
Тоесть
<head>
<title><?php print $head_title ?></title>
<?php print $head ?>
<?php print $styles ?>
<?php print $scripts ?>
</head>
<body class="<?php print $classes ?>">
будет матюкаться...
Вот здесь описано очень красиво все
http://drupal.org/node/313510
Спасибо, мне помогло
Может кому пригодится.
Drupal 7, для избавления от данных ошибок делал так:
<?php
$node = menu_get_object();
if (!is_object($node)) :
// Пишем код для случаев, когда нода по каким-то причинам не определена
else :
if (($node->type <> "announcements")&&($node->type <> "news")) :
// Пишем код для нод Объявления и Новости
else :
// Пишем код для всех остальных случаев
endif;
endif;
?>
ЗЫ: Вообще, достаточно вчитаться в сообщения об ошибках - и почти все вопросы пропадают