技术宅

当前位置:首页 > 网站教程 > 帝国教程

帝国教程

禁止帝国cms标题图为空显示notimg.gif无图图片

时间:05-25 作者:
禁止帝国cms标题图titlepic值为空显示notimg.gif无图图片。
其实这个要求的修改教程全网没人做,因为这和大家平时的想法是相反的,正常清空大家的要求都是没标题图就显示NO pic
禁止帝国cms标题图titlepic值为空显示notimg.gif无图图片。
其实这个要求的修改教程全网没人做,因为这和大家平时的想法是相反的,正常清空大家的要求都是没标题图就显示NO pic 系统自带无图提示图片去补位显得模板整齐,但是吧我就想让他什么都不显示。
目前帝国cms系统默认是显示的。
第一步:找到 /e/class/connect.php,修改 titlepic 部分的逻辑:

        elseif($f=='titlepic')//标题图片
        {
            if(empty($value))
            {
                $value=$public_r['newsurl'].'e/data/images/notimg.gif';
            }
            $spf=1;
        }
修改为
elseif($f=='titlepic')//标题图片
{
    if(empty($value))
    {
        $value = ''; // 直接设为空,不返回任何默认图
    }
    $spf=1;
}

注意大家修改前另存下原始文件,这万一将来你变想法了呢!
还没结束,这修改完没图会显示一个无图浏览器默认的小图标。
那就需要  CSS 彻底隐藏破损图标

将 下面代码放到模板头部
<style>
    img[src=""], img:not([src]) {
        display: none !important;
    }
</style>
强制隐藏所有 src 为空或未设置 src 的 <img> 标签
或者
<style>
    /* 彻底隐藏所有无有效src的img标签 */
    img:not([src]), 
    img[src=""], 
    img[src*="notimg.gif"] {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
    }
</style>
重保险,确保浏览器不会显示任何占位图标。

OK,现在就做到了有图显示图片,没图什么都不显示。
就像下面这样。



如果内容页不生效那么
找/e/action/ShowInfo.php

elseif($f=='titlepic')//标题图片
        {
            if(empty($value))
            {$value=$public_r['newsurl'].'e/data/images/notimg.gif';}
        }

修改为
elseif($f=='titlepic')//标题图片
{
    if(empty($value))
    {
        $value = ''; // 直接设为空,不返回默认图
    }
}



 修改 /e/class/functions.php


elseif($f=='titlepic')//标题图片
{
    $value='empty('.$value.')?$public_r[\'newsurl\'].\'e/data/images/notimg.gif\':'.$value;
}

修改为
elseif($f=='titlepic')//标题图片
{
    $value = $value; // 直接返回原值,不处理默认图
}