dedecms织梦栏目增加图片上传

此次教程是针对企业公司网站针对每个栏目的banner大图而写,可以每个栏目使用不同的banner长图
单独调用这些图片比较麻烦,我们修改程序实现每个栏目都有上传栏目缩略图的功能
开始教程(所有操作记得备份数据)
第一步、执行SQL命令为数据库的栏目表结构添加一个字段

alter table `dede_arctype` add `typeimg` char(100) NOT NULL default '';

第二步、修改涉及到文件
dede/catalog_add.php 
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
1、打开dede/catalog_add.php(增加字段:typeimg)
查找

$queryTemplate = "insert into `dede_arctype`

(reid,topid,sortrank,typename,typedir,

替换成

(reid,topid,sortrank,typename,typedir,typeimg,

('~reid~','~topid~','~rank~','~typename~','~typedir~',

替换成

('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~',

2、打开dede/catalog_edit.php
找到

$upquery = "Update `dede_arctype` set

在它下面加上

`typeimg`='$typeimg',

3、打开dede/templets/catalog_add.htm
查找

<tr>
<td height="26">列表命名规则:</td>
           <td>
          <input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html"  class="pubinputs"  style="width:250px" />
             <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/></td>
         </tr>

在它下面加上

<tr>
            <td height="65" style="padding-left:10px;">栏目图片:</td>
            <td width="400">
                <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','');" />
            </td>
            <td>
               <td align="center"><img src="<?php echo "images/pview.gif";?>" width="150" height="100" id="picview" name="picview"></td>
            </td>
          </tr>

然后再head增加下面这个JS
<script language='javascript' src="js/main.js"></script>
4、打开dede/templets/catalog_edit.htm
查找

<tr>
<td height="26">列表命名规则:</td>
           <td>
          <input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html"  class="pubinputs"  style="width:250px" />
             <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/></td>
         </tr>

在它下面加上

<tr>
            <td height="65" style="padding-left:10px;">栏目图片:</td>
            <td width="400">
                <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','');" />
            </td>
            <td>
               <td align="center"><img src="<?php echo "images/pview.gif";?>" width="150" height="100" id="picview" name="picview"></td>
            </td>
          </tr>

详解:

<?php echo $myrow['typeimg']?> 

这句会调用出已添加的路片路径
然后再head增加下面这个JS  (和上面一步一样操作)
<script language='javascript' src="js/main.js"></script>
5、dede:channel标签和dede:type等标签都还是无法调用该字段的,还需要修改标签语句
打开/include/taglib/channel.lib.php
找到一下代码,每个typedir后面加上自己添加的字段typeimg

if($type=='top')
    {
        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `dede_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 `dede_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 `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
 
  //如果用子栏目模式,当没有子栏目时显示同级栏目
    if($type=='son' && $reid!=0 && $totalRow==0)
    {
        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
        $dsql->SetQuery($sql);
      $dsql->Execute();
    }

再找到

$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);

在下面加上

$linkOkstr = str_replace("~typeimg~",$row['typeimg'],$linkOkstr);

6、找到include/taglib/type.lib.php
找到如下代码,并在typedir后加上typeimg,前台就可以通过标签调用了

if(empty($typeid)) return '';
    $row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE id='$typeid' ");

标签调用代码:

[field:typeimg/]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值