Я периодически получаю сообщение об ошибке $ node undefined в одном из моих файлов шаблонов. У меня есть простое условие if, которое проверяет отображаемый тип узла. Я предположил, что $ node всегда доступен, или я не прав?
Я периодически получаю сообщение об ошибке $ node undefined в одном из моих файлов шаблонов. У меня есть простое условие if, которое проверяет отображаемый тип узла. Я предположил, что $ node всегда доступен, или я не прав?
Ответы:
$ node не обязательно определяется из API Drupal page.tpl.php :
$ node: объект узла, если с страницей связан автоматически загруженный узел, а идентификатор узла является вторым аргументом в пути к странице (например, node / 12345 и node / 12345 / revisions, но не comment / reply / 12345).
По умолчанию только на страницах узлов определяется переменная $ node. Для главной страницы (канала), просмотра страниц, комментариев и т. Д. Их нет.
Если вы хотите, чтобы на странице была определена переменная $ node, которая не является узлом, вам придется отредактировать / создать функцию MYTHEME_preprocess_page (& $ variable) в файле темы template.php.
Чтобы избежать вашей ошибки, поместите в файл шаблона переменную $ node в
if (isset($node)) {
// do something with $node
}
Или удалите его полностью