帝国cms怎么判断当前文章是否有标题图片方法
通过模板标签判断标题图片是否存在
在内容模板(如 show.html)中,可以利用程序代码结合条件判断来识别是否有标题图片:
[!--titlepic--] 是标题图片的调用字段,如果该字段为空,说明没有设置标题图。
使用PHP代码进行判断示例:
zuojiankuohaophpcn?php
if (!empty($navinfor['titlepic'])) {
echo '<img src="' . $navinfor['titlepic'] . '" alt="[!--title--]" />';
} else {
echo '暂无标题图片';
}
?>
这段代码放在内容模板中,可以安全地输出标题图或提示信息。
使用灵动标签在列表中判断
在列表页或首页调用文章时,常使用灵动标签([e:loop]),此时也可以判断标题图是否存在:
<?[e:loop={栏目ID,显示数量,操作类型,只显示有标题图片}]?>
<a href="<?=bqsr['titleurl']?>">
<img src="<?=bqr['titlepic'] ? bqr['titlepic'] : '/images/no-pic.jpg'?>" />
</a>
<?[/e:loop]?>
其中 bqr['titlepic'] ? bqr['titlepic'] : '/images/no-pic.jpg' 表示:如果有标题图就显示,否则显示默认图。
灵动标签的“只显示有标题图片”选项可在后台选择,对应SQL条件为 titlepic!=''。
利用CSS隐藏无图情况
如果不想用PHP判断,也可以通过CSS配合HTML结构实现视觉上的控制:
给图片外层加一个class,当 [!--titlepic--] 为空时不渲染img标签,或者设置默认背景图:
<div class="title-pic-box"
style="background-image: url(<?=empty($navinfor['titlepic']) ? '/images/default.jpg' : $navinfor['titlepic']?>);"
></div>
这样即使没有标题图,也能保持版面统一。






