dedecms增加栏目(栏目图片)上传缩略图功能

在我们用DEDECMS系统时发现一个功能是没有的,就是栏目缩略图无法添加。为了自己建站方便是网站搜罗到这个功能添加的方法。

dedecms网站管理系统,默认的文章包含有缩略图选项,可以直接上传录入。

但实际使用中,我们发现作为栏目来说,必要的缩略图也是必不可少的,所以本文详细介绍了如何快速给栏目增加缩略图。

1.“系统->SQL命令工具” , 插入sql语句:

   先在数据库arctype表中增加一个typeimg的字段

alter table dede_arctype add typeimg varchar(100)

打开 dede/catalog_add.php 大概在第 65 行,在

   $queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename, 后面加上 typeimg, 即为
   $queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typeimg,

   VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~',  后面加上 '~typeimg~', 即为
   VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~', 

大概第 228 行,

   $in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir, 后面加上 typeimg, 即为
   $in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,typeimg,

   VALUES('$reid','$topid','$sortrank','$typename','$typedir', 后面加上 '$typeimg', 即为
   VALUES('$reid','$topid','$sortrank','$typename','$typedir','$typeimg',

打开 catalog_edit.php 大概在 43 行   typedir='$typedir', 下面加上 typeimg='$typeimg', 

$upquery = "UPDATE `#@__arctype` SET
     issend='$issend',
     sortrank='$sortrank',
     typename='$typename',
     typedir='$typedir',
     typeimg='$typeimg',
     isdefault='$isdefault',
     defaultname='$defaultname',
     issend='$issend',
     ishidden='$ishidden',
     channeltype='$channeltype',
     tempindex='$tempindex',
     templist='$templist',
     temparticle='$temparticle',
     namerule='$namerule',
     namerule2='$namerule2',
     ispart='$ispart',
     corank='$corank',
     description='$description',
     keywords='$keywords',
     seotitle='$seotitle',
     moresite='$moresite',
     `cross`='$cross',
     `content`='$content',
     `crossid`='$crossid',
     `smalltypes`='$smalltypes'
     $uptopsql
    WHERE id='$id' ";


大概在 137 行 typedir='$typedir', 下面加上 typename='$typename',

扫描二维码关注公众号,回复: 9931645 查看本文章
$upquery = "UPDATE `#@__arctype` SET
     issend='$issend',
     sortrank='$sortrank',
     typedir='$typedir',
     typename='$typename',
        isdefault='$isdefault',
     defaultname='$defaultname',
     ispart='$ispart',
     corank='$corank' $uptopsql
    WHERE id='$id' ";

打开 include/arc.archiver.class.php 大概在 77 行


    $query = "SELECT arc.*,tp.reid,tp.typedir, 后面加上 tp.typeimg, 即为
    $query = "SELECT arc.*,tp.reid,tp.typedir,tp.typeimg,

至此,程序部分的修改意见完成。接下来修改模版部分。打开
dede/templets/catalog_add.htm 大概在 499 行后面加上

   

<script type="text/javascript" src="js/main.js"></script>

 

          <tr>
            <td height="65" style="padding-left:10px;">栏目图片:</td>
            <td>
                <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
                <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg')" />(栏目模板里用{dede:field.typeimg /}调用)
            </td>
          </tr>  

打开
dede/templets/catalog_edit.htm 大概在 406 行后面加上

<script type="text/javascript" src="js/main.js"></script>

 

          <tr>
            <td height="65" style="padding-left:10px;">栏目图片:</td>
            <td>
                <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
                <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg')" />(栏目模板里用{dede:field.typeimg /}调用)
            </td>
          </tr>  

保存之后,栏目模板里用{dede:field.seotitle /}调用即可。

调用栏目通边 channel 标签调用,所以要更改, 进入/include/taglib/channel.lib.php文件,找到78行,把以下的代码替换默认(添加typeimg字段查询)

if($type=='top')
    {
        $sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `#@__arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    else if($type=='son')
    {
        if($typeid==0) return '';
        $sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    else if($type=='self')
    {
        if($reid==0) return '';
        $sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }

调用:

{dede:channel type='son' row='10' typeid="2"}
                  <div class="w-prd-list-cell">
                    <div class="w-prd-list-cell-in">
                      <div class="w-prd-con">
                        <div class="w-prd-imgbox" title="[field:title /]"> <a target="_self" href="[field:typelink/]" class="img-count w-prd-img">
                            <div class="aspectRatio" style="padding-bottom:100%"></div>
                            <div class="img-count-in"><img alt="[field:typename /]" src="[field:typeimg/]" /></div>
                          </a> </div>
                        <div class="w-prd-infobox" style="text-align:center">
                          <h2 class="w-prd-name" title="[field:typename /]">
                            <a target="_self" href="[field:typelink/]">[field:typename/]</a>
                          </h2>
                        </div>
                      </div>
                    </div>
                  </div>
                  {/dede:channel}
发布了96 篇原创文章 · 获赞 18 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_42694072/article/details/90174582