我刚刚在我的网站上安装了一个新的drupal主题,它运行得很好。突然之间,我在主页上收到了这个错误:
注意:未定义的变量:include()中的author_name(第1354行) /tpl/node--blog.tpl.php)。
我检查了代码中的行,我不确定为什么会抛出这个错误(特别是因为我知道变量正在被使用?)
<img alt='<?php print $author_name; ?>' src='<?php print $author_avatar_url; ?>' srcset='<?php print $author_avatar_url; ?>' class='avatar avatar-75 photo' height='75' width='75' />
知道为什么会这样吗?谢谢!
答案 0 :(得分:0)
将print $author_name;
替换为print $name;
以在此处显示作者登录名。
您不想要用户名,但有些自定义字段&#34;名称&#34;?在这种情况下,请阅读this thread - 它包含您的案例所需的所有信息。
答案 1 :(得分:0)
您需要将'print'包装在'if'语句
中 <img alt='<?php
if(!empty($author_name)):
print $author_name;
endif;
?>'
src='<?php print $author_avatar_url; ?>' srcset='<?php print $author_avatar_url; ?>' class='avatar avatar-75 photo' height='75' width='75' />
endif;
答案 2 :(得分:0)
只是要添加Holera博士上面所说的内容,您需要将代码包装在if
语句中,因为您只希望代码在具有该字段的节点上执行。
这通常发生在您拥有非必填字段(例如图像字段)的节点列表中。代码将在页面上可见的所有节点上运行,如果任何节点没有填写非必填字段,则会给出undefined variable
的错误。因此,当您通过{{1 }}语句,表示代码仅对填写的字段有效。
希望这会对你有所帮助。