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',

$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}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章