我为链接制作了内容类型,我正在尝试创建一个链接目录。人们只需提交链接,描述是自愿的。如果没有输入描述,我希望标题“说明”消失。 description字段是节点主体。 现在我的代码片段看起来像这样
<?php if (!empty($node->body)) {?>
<div class="field field-type-link field-field-link-archive">
<h3>Description</h3>
<?php print $node->content['body']['#value'] ?></div>
<?php }?>
我希望这可以检查节点主体是否为空,如果不是,它将打印出那里的内容。问题是即使节点主体为空,仍然打印出Description标头。任何人都可以看到什么是错的吗?
答案 0 :(得分:3)
$ node-&gt;正文是整个节点内容,包含链接,作者信息,发布日期等。
你几乎得到它,请参阅:
<?php if (!empty($node->content['body']['#value'])) {?>
<div class="field field-type-link field-field-link-archive">
<h3>Description</h3>
<?php print $node->content['body']['#value'] ?></div>
<?php }?>
另外一些wysiwyg-s模块会自动添加像p这样的标签。检查一下......
答案 1 :(得分:0)
$ node-&gt;正文可能不是空的
这些是php认为是空的
"" (an empty string)
0 (0 as an integer)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)
对它进行var_dump测试
phps简写语法是针对这样的事情而制作的。你应该使用它,它更容易阅读
<?php if(): ?>
// do stuff
<?php endif; ?>
答案 2 :(得分:0)
在Drupal 7中,这也有效:
<?php if(!empty($content['body'])) { ?>
<div class="field field-type-link field-field-link-archive">
<h3>Description</h3>
<?php print render($content['body']); ?>
</div>
<?php }?>