dedecms织梦栏目增加图片上传

2025-08-04 0 8
此次教程是针对企业公司网站针对每个栏目的banner大图而写,可以每个栏目使用不同的banner长图
单独调用这些图片比较麻烦,我们修改程序实现每个栏目都有上传栏目缩略图的功能
开始教程(所有操作记得备份数据)
第一步、执行SQL命令为数据库的栏目表结构添加一个字段
alter table `dede_arctype` add `typeimg` char(100) NOT NULL default ”;
  • 第二步、修改涉及到文件
  1. dede/catalog_add.php
  2. dede/catalog_edit.php
  3. dede/templets/catalog_add.htm
  4. 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)

版权声明:所有的源码、软件和资料,不得使用于非法商业用途,不得违反国家法律,一切关于该资源商业行为与本站无关。

免费cms模板 dedecms教程 dedecms织梦栏目增加图片上传 https://www.mianfeicms.com/1083.html

相关文章

发表评论
暂无评论