如何在后台增加dedecms栏目图片字段并在前台实现调用

  dedecms默认是没有栏目图片功能的,为了便于灵活管理就给每个栏目增加一个栏目图片的功能,栏目图片是在代码中添加的固定图片,通过改造可以实现这个功能的,下面就随ytkah一起来试试吧

1. 首先,给栏目分类表`dede_arctype`表增加缩略图字段`typeimg`,用phpMyAdmin或其他数据库管理工具,直接在数据表中添加该字段,或者运行下面的SQL语句:

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

2. 修改页面,在表单中添加相应的字段,涉及到的页面有:

dede/catalog_add.php

dede/catalog_edit.php

dede/templets/catalog_add.htm

dede/templets/catalog_edit.htm

2.1 打开dede/templets/catalog_add.htm,查找

<tr>

    <td class='bline' height="26" ><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" ><font color='red'>栏目图片:</font></td>

    <td class='bline'>

        <input name="typeimg" type="text" id="typeimg" class="alltxt" value="" />

        <input type="button" name="set9" value="浏览... "class="coolbg np" onClick="SelectImage('form1.typeimg','');" />

    </td>

</tr>

并在<head></head>之间引入如下js:

<script language="javascript" src="js/main.js"></script>

2.2 打开dede/catalog_add.php页面,保存上传栏目图片的内容,查找

$queryTemplate = "INSERT INTO

(reid,topid,sortrank,typename

的后面添加  ,typeimg  字段,再找到

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

在其后面添加  ,’~typeimg~’  字段,接着查找

$in_query = "INSERT INTO

(reid,topid,sortrank,typename

后面同样添加  ,typeimg  字段,并在

('$reid','$topid','$sortrank','$typename'

后面添加  ,’$typeimg’  字段。

2.3 打开dede/templets/catalog_edit.htm页面,查找

<tr>

    <td class='bline' height="26" ><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="26" ><font color='red'>栏目图片:</font></td>

    <td class='bline'>

        <input name="typeimg" type="text" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />

        <input type="button" name="set9" value="浏览... "class="coolbg np" onClick="SelectImage('form1.typeimg','');" />

    </td>

</tr>

并在<head></head>之间引入下面的js文件

<script language='javascript' src="js/main.js"></script>

2.4 打开dede/catalog_edit.php,查找

$upquery = "UPDATE `#@__arctype` SET

typename='$typename',

的后面添加

 typeimg='$typeimg',

然后保存。

前台调用:<img src="{dede:field name='typeimg'/}" width="100%"  border="0"  >如果要使用<img src='[field:typeimg/]'/>调用我们必须找到了栏目的标签页面  /include/taglib/channel.lib.php,发现了下面的一段代码(第137行):

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

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

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

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

在下面添加:$linkOkstr = str_replace("~typeimg~",$row['typeimg'],$linkOkstr);这时,我们再到后台重新生成一下列表页面,刷新列表页试试,当前栏目的栏目图片也出来了呢~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据库新发现

Oracle云数据库初体验 之一 - 申请与介绍

关于Oracle云数据库(Oracle Cloud Database)的一些体验和分享,也可以参考以下链接:

4093
来自专栏微信终端开发团队的专栏

微信 SQLite 数据库修复实践

微信在后台服务器不保存聊天记录,微信在移动客户端所有的聊天记录都存储在一个 SQLite 数据库中,一旦这个数据库损坏,将会丢失用户多年的聊天记录。

4651
来自专栏数据和云

青铜到王者,看看你的MySQL数据库是什么段位,如何提升?

作者 | 张甦, 数据库领域的专家和知名人士、图书《MySQL王者晋级之路》作者,51CTO 专家博主。近10年互联网线上处理及培训经验,专注于 MySQL 数...

1334
来自专栏匠心独运的博客

大型分布式业务平台数据库优化方法(下)

文章摘要:当单表数据达到千万以上时,通过加索引或者表分区优化提升的效果就比较有限了,应该如何应对呢???

834
来自专栏张戈的专栏

重置多说配置后的问题,这是不让我从良的节奏啊(附禁用谷歌在线字体的方法)!

本想今天发文从良,金盆洗手,从此不再折腾博客,安心写文章的。结果,发现多说又不能同步服务器评论到本地了!特么真是怕什么来什么啊!想来这金盆暂时用不着了。。。 想...

3725
来自专栏北京马哥教育

优化MySQL Slave延迟很大的方法

一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发。简单说,在master上是并发模式(以InnoDB引擎为...

2828
来自专栏文渊之博

史上最大的CPU Bug(幽灵和熔断的OS&SQLServer补丁)

背景 原文地址(http://www.cnblogs.com/wenBlog/p/8435229.html) 最近针对我们的处理器出现了一系列的严重的bug。这...

3165
来自专栏IT技术精选文摘

ElasticSearch详解与优化设计

1、简介 ElasticSearch(简称ES)是一个分布式、Restful的搜索及分析服务器,设计用于分布式计算;能够达到实时搜索,稳定,可靠,快速。和Apa...

2985
来自专栏美团技术团队

美团点评数据平台Kerberos优化实战

26110
来自专栏腾讯技术工程官方号的专栏

PGXZ 腾讯分布式关系数据集群—架构解析

本文作者:数据平台部存储引擎组PGXZ项目负责人,2013年从华为加入腾讯,从事数据库和存储相关的工作。多年来一直致力于数据库引擎的研究和开发,从事过多款数据库...

27211

扫码关注云+社区