
在使用帝国CMS开发网站时,经常会遇到需要判断当前文章是否存在标题图片(即“标题图”)的情况。正确判断可以避免页面出现图片加载错误,同时提升用户体验。以下是几种常用的判断方法。
通过模板标签判断标题图片是否存在
在内容模板(如 show.html)中,可以利用程序代码结合条件判断来识别是否有标题图片:
[!–titlepic–] 是标题图片的调用字段,如果该字段为空,说明没有设置标题图。 使用PHP代码进行判断示例:
zuojiankuohaophpcn?phpif (!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>
这样即使没有标题图,也能保持版面统一。
基本上就这些方法。根据使用场景选择模板判断、灵动标签过滤或CSS兜底方案,都能有效处理标题图片的显示逻辑。关键是利用好 $navinfor[‘titlepic’] 或 bqr[‘titlepic’] 字段是否为空来做条件分支。

评论(0)