您当前的位置:首页 > 科技

利用AI自己研究可用的帝国cms列表调用缩略图

作者:WHY80   发布时间:2026-03-18 来源:JIEDUBLOG

首先要在帝国cms后台开启 后台模板支持程序代码:
帝国cms列表调用缩略图
然后在 管理列表模板中 勾选:
why80.com图片-帝国cms列表调用缩略图

列表内容模板(list.var) (*)  的框中将以下代码复制进去:

if($r[titlepic]){    <!-- 更严谨的写法(推荐),CMS中同样能正常运行 if($r['titlepic'])  //这里换成if(!empty($r['titlepic'])){ 也行-->
$str = '<li class="article-item">
        <div class="article-img">
            <a href="[!--titleurl--]" target="_blank">
                <img width="163" height="149" src="[!--titlepic--]" alt="[!--oldtitle--]" />
            </a>
        </div>
        <div class="article-content">
            <h3><a href="[!--titleurl--]" title="[!--oldtitle--]">[!--title--]</a></h3>
            <div class="article-meta">
                <span><i class="fa-solid fa-calendar"></i> [!--newstime--]</span>
                <span><i class="fa-solid fa-user"></i> why80</span>
                <span><i class="fa-solid fa-eye"></i> [!--onclick--]</span>
            </div>
            <div class="article-brief">
                [!--smalltext--]…
            </div>
            <div class="article-more">
                <a href="[!--titleurl--]" target="_blank">阅读全文 <i class="fa-solid fa-arrow-right"></i></a>
            </div>
        </div>
    </li>';
}else{
    $str = '<li class="article-item">
        <div class="article-content no-img">
            <h3><a href="[!--titleurl--]" title="[!--oldtitle--]">[!--title--]</a></h3>
            <div class="article-meta">
                <span><i class="fa-solid fa-calendar"></i> [!--newstime--]</span>
                <span><i class="fa-solid fa-user"></i> why80.com</span>
                <span><i class="fa-solid fa-eye"></i> [!--onclick--]</span>
            </div>
            <div class="article-brief">
                [!--smalltext--]…
            </div>
            <div class="article-more">
                <a href="[!--titleurl--]" target="_blank">阅读全文 <i class="fa-solid fa-arrow-right"></i></a>
            </div>
        </div>
    </li>';
}
$listtemp = $str;

---演示效果请看这里
为什么 CMS 里用 if($r[titlepic]) 就够了?对此,AI给出的解释是:
CMS 提前做了 “兜底”
CMS 在渲染列表时,会先把$r[titlepic]初始化:
有图片 → $r[titlepic] = "图片URL"(非空字符串,if判断为true);
无图片 → $r[titlepic] = ""(空字符串,if判断为false);
也就是说,$r[titlepic] 要么是有效 URL,要么是空字符串,不会出现 “变量未定义”“值为 0/null” 等特殊情况,用简单的if($r[titlepic])完全能准确判断,没必要加!empty()。
!empty() 在 CMS 中是 “冗余判断”
!empty() 的作用是同时判断:
变量是否存在(isset);
变量是否非空 / 非 0 / 非 false。
但 CMS 已经保证$r[titlepic]一定存在,所以!empty($r['titlepic']) 和 $r[titlepic] 的判断结果完全一致,加了反而多此一举(不会报错,但没必要---why80注,实际刷新列表页时有不正常的提示,尽管列表页看似正常)。
CMS 对数组键引号的 “宽容性”
你代码里$r[titlepic]少了引号,在纯 PHP 中!empty($r[titlepic])会报 “常量未定义” 警告,但 CMS 底层会自动把$r[titlepic]解析为$r['titlepic'](把未定义的 “常量” 当作字符串键),所以即使不加引号、不用!empty(),逻辑也不会出错。
三、补充:什么时候才需要加 !empty()?
只有在纯 PHP 环境(没有 CMS 兜底)时,!empty() 才有意义,比如:
自己写 PHP 脚本,$r 可能是从数据库查询的,有可能不存在titlepic字段;
$r[titlepic] 可能是0/null/false等 “假值”,需要严格区分 “无图片” 和 “值为 0”;
而你的场景是 CMS 模板,这些情况都被 CMS 屏蔽了,所以if($r[titlepic])就是最优写法。
上一篇:电脑开机后总弹出A-volute 3d sound experts的原因分析  下一篇:帝国cms相关文章用灵动标签调用问题
您可能感兴趣:

帝国cms相关文章用灵动标签调用问题

帝国CMS本来是有--other.link--这个相关文章标签,简单直接可调取相关文章数据。但是这个模板不灵活,至少没灵动标签好使。到目前为止的版本,应该是不支持简介字段[--smallte

热门图文

鼠标移到左侧不影响阅读

同栏阅读

官方推荐

Copyright © 官方备用网址.80后生活玩乐平台(80后官网登录入口2026-2027) All rights reserved.