博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给DeDeCms栏目增加缩略图功能
阅读量:5111 次
发布时间:2019-06-13

本文共 4704 字,大约阅读时间需要 15 分钟。

注:本教程使用的dedecms版本为:V5.7SP2 utf-8版。

一、向dede_arctype栏目数据表种添加图片字段typeimg

通过 系统 - SQL命令行工具,输入下边代码,执行

alter table `dede_arctype` add `typeimg` varchar(200) NOT NULL default '';
意思是在数据库表dede_arctype中添加一个typeimg字段,typeimg这个名字可以自定义命名。

二、修改文件:  

       dede/catalog_add.php

  dede/catalog_edit.php
  dede/templets/catalog_add.htm
  dede/templets/catalog_edit.htm
PS:dede为默认后台文件夹

1)修改dede/catalog_add.php文件
打开文件,开始查找
在65行找到$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,
将其替换为:$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typeimg,
在67行找到VALUES('~reid~','~topid~','~rank~','~typename~',
将其替换为:VALUES('~reid~','~topid~','~rank~','~typename~','~typeimg~',
在227行找到$in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,
将其替换为:$in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typeimg,
在230行找到VALUES('$reid','$topid','$sortrank','$typename',
将其替换为:VALUES('$reid','$topid','$sortrank','$typename','$typeimg',
保存!
2)修改dede/catalog_edit.php文件
在41行找到typename='$typename',
在其下边新增一行
typeimg='$typeimg',
3)修改dede/templets/catalog_add.htm模板文件
首先在<head>标签种添加<script language='javascript' src="js/main.js"></script>
然后随便找个位置,我是在栏目名称下边添加的
找到这行代码:
          <tr>
            <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
            <td class='bline'><input name="typename" type="text" id="typename" size="30" class="iptxt" /></td>
          </tr>
          
         在其下边添加如下代码
<tr>
            
            <td class='bline' height="26" style="padding-left:10px;">栏目缩略图:</td>
            <td class='bline'>
                <input name="typeimg" type="text" style="width:300px" id="typeimg" class="alltxt" value="" />
            <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
                </td>
                       
          </tr>
保存。
4)修改dede/templets/catalog_edit.htm模板文件
首先在<head>标签种添加<script language='javascript' src="js/main.js"></script>
然后找到栏目名称的位置,
<tr>
            <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
            <td class='bline'><input name="typename" type="text" id="typename" size="30" value="<?php echo $myrow['typename']?>" class="iptxt" /></td>
          </tr>
在它的下边添加如下代码
<tr>
            <td class='bline'  height="65" style="padding-left:10px;">栏目缩略图:</td>
            <td class='bline' >
                <input name="typeimg" type="text" style="width:300px" 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','');" />
                 </td>
          </tr>
保存即可。

三、如何调用缩略图

一般情况下我们调用栏目的时候有2种方式{dede:chanel}和{dede:type},所以我们需要修改下边2个文件

  include/taglib/channel.lib.php
  include/taglib/type.lib.php
1)修改include/taglib/channel.lib.php
在78 - 94行之间,找到如下代码
    if($type=='top')
    {
        $sql = "SELECT id,typename,typedir,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,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,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
在每个typename的后边添加typeimg,一共三处,修改后的代码为
    if($type=='top')
    {
        $sql = "SELECT id,typename,typeimg,typedir,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,typeimg,typedir,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,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
保存文件。
调用时可通过{dede:chanel}标签调用
      {dede:channel type='top' row='8'}
 <li><a href='[field:typelink/]'><img src="[field:typeimg/]"  /></a> </li>
{/dede:channel}
    
    2)修改include/taglib/type.lib.php
    在42行找到$row = $dsql->GetOne("SELECT id,typename,
    在其后边添加typeimg,既把它修改成如下:
    $row = $dsql->GetOne("SELECT id,typename,typeimg,
    保存文件。
    
    调用方法,可在任何模板页通过{dede:type}方式调用,如下:
    {dede:type typeid='5'}
<a href="[field:typelink /]"><img src="[field:typeimg /]"  /></a>
{/dede:type}
    
    3)在当前栏目页调用该栏目的缩略图可以直接使用<img src="{dede:field.typeimg/}"  />调用。

转载于:https://www.cnblogs.com/chrisbao/p/10374045.html

你可能感兴趣的文章
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>
数据库3
查看>>
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>
DataGridView的行的字体颜色变化
查看>>
Java再学习——关于ConcurrentHashMap
查看>>
如何处理Win10电脑黑屏后出现代码0xc0000225的错误?
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Day19内容回顾
查看>>
第七次作业
查看>>
SpringBoot项目打包
查看>>