【发布时间】:2021-03-14 15:32:50
【问题描述】:
我一直在文章覆盖中使用 Joomla 的自定义字段,但我没有运气仅在使用字段时添加标记。我对 PHP 的了解非常有限。
这是我的声明:
<?php if(isset($this->item->jcfields[x]) === true && empty($this->item->jcfields[x]) === false): ?>
<div class="name"><?php echo $this->item->jcfields[x]->value; ?></div>
<?php endif; ?>
在我有限的理解中,这似乎会检查该字段是否有内容并且不为空。如果为 true,则显示将字段值包装在 div 中的第二行。这行得通。
相反,如果该字段为空,则应跳过第二行,这不会创建包装 div。
实际上,div 是以任何一种方式创建的。
我错过了什么?
【问题讨论】:
-
供您参考,
isset()和!empty()的组合是一种非常常用的反模式。请阅读:stackoverflow.com/a/4559976/2943403 如果您正在从事 Joomla 工作,请加入 Joomla Stack Exchange 并在那里提出您的 Joomla 问题,以吸引对 CMS 有深入了解的观众。