我看了,但似乎我找不到合适的答案,或者我没有相应的技能。问题是我收到了这个错误:
Notice: Undefined variable: node in include() (line 69 of /home/xwebmedia/public_html/ltr/sites/all/themes/ltr/page.tpl.php).
我正在使用的代码是:
<?php
if (count($node->field_adds) != 0)
{
foreach($node->field_adds['und'] as $key => $value)
{
$nid = $value['nid'];
$mywidget = node_view(node_load($nid));
print drupal_render($mywidget);
}
}
?>
事情就是一切正常,我在侧边栏中添加了我的小部件,但是我有这个错误的通知。
我知道我需要在template.php
中定义一个变量,但我尝试了一些不起作用的变量。
有什么建议吗?
答案 0 :(得分:1)
检查是否已设置$ node。
<?php
if (isset($node) && count($node->field_adds) != 0)
{
foreach($node->field_adds['und'] as $key => $value)
{
$nid = $value['nid'];
$mywidget = node_view(node_load($nid));
print drupal_render($mywidget);
}
}
?>
答案 1 :(得分:0)
默认情况下,页面模板文件没有$node
变量(您可以使页面不是节点,因此不需要)。
menu_get_object()
功能是你的朋友:
$node = menu_get_object();
if ($node) {
...
}