织梦cms怎么增加栏目图片
织梦cms增加栏目图片的方法:1、把要添加栏目图片字段取名为“typeimg”,执行代码为“alter table dede_arctype add typeimg varchar(100)”;2、修改“catelog_add.php”和“catelog_edit.php”文件内容;3、使用channel标签调用栏目,然后获取当前栏目的最顶级的栏目图片即可。
本教程操作环境:Windows10系统、DedeCMS 5.7版、Dell G3电脑。
织梦cms怎么增加栏目图片?
dedecms(织梦CMS)后台添加栏目图片的代码方法
网上的方法虽然对,但有一些细节没处理好,很多新手都会遇到问题。接下来我来总结一下吧。
第一步、首先我们把要添加栏目图片字段我这里取字段名为typeimg,您可以在后台添加代码,执行代码,操作如下:
“系统->SQL命令工具” , 插入sql语句
alter table dede_arctype add typeimg varchar(100)
第二步:进入后台管理文件目录(默认为:dede目录),找到”catelog_add.php“下有几处要修改的。
1.找到$queryTemplate(大概65行左右)
我改的代码如下:
$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`) VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','','~typeimg~')";
2.找到 $in_query(227行左右)
修改整个$in_query
$in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2, ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`) VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2', '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$typeimg')";
其实没什么难的,新手可以复制粘贴,老手可以自行修改,就是在语句中添加一个typeimg字段而已。
第三步:同样的方法,找到”catelog_edit.php“下$upquery(38行左右)
修改代码如下
$upquery = "UPDATE `#@__arctype` SET issend='$issend', sortrank='$sortrank', typename='$typename', typedir='$typedir', 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', `typeimg`='$typeimg', `smalltypes`='$smalltypes' $uptopsql WHERE id='$id' ";
第四步:进入后台管理文件目录(默认为:dede目录)/templets/ 下的 “catalog_add.htm 和 catalog_edit.htm" 文件,在间加入下面代码:
<script language='javascript' src="js/main.js"></script>
catalog_add.htm 中加入如下代码
<!--加入栏目--> <tr> <td class="bline" height="26" style="padding-left:10px;">栏目图片:</td> <td class="bline"> <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" /> <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" /> </td> <input type="hidden" name="dede_addonfields" value="imgmm,img" /> </tr>
catalog_edit.htm中加入如下代码
<!--加入栏目--> <tr> <td class="bline" height="26" style="padding-left:10px;">栏目图片:</td> <td class="bline"> <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" value="<?php echo $myrow['typeimg']?>" /> <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" /> </td> <input type="hidden" name="dede_addonfields" value="imgmm,img" /> </tr>
注意:这二个文件的代码不一样,要分别加入。
第五步:如果使用通边 channel 标签调用栏目,所以要对/include/taglib/channel.lib.php文件进行更改,找到如下代码进行替换
if($type=='top') { $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg 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,typeimg 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,typeimg FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; }
其实就是在sql语句里面添加了typeimg字段。
第六步,就是在前台调用了
{dede:channel type='self' typeid='15' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}<li><a href='[field:typelink/]'>[field:typename/]</a> <img src='[field:typeimg/]' /></li>{/dede:channel}
以上这段代码是网上的,我要的不是这样的效果,我要是获取当前栏目的最顶级的栏目图片
我用二种方法来解决这个问题:
本人测试有效
第一种:
修改文件include/helpers/extend.helper.php
找到gettoptype函数,在里面增加如下代码,目的是获取栏目图片
//增加栏目图片 $toptypeimg=$row['typeimg']; if($action="images") return $toptypeimg;
前台调用方法:
<img src="{dede:field.typeid function=gettoptype(@me,images)/}">
这样就可以调用了。完美!!
第二种方法:
修改文件include/common.func.php
在最后增加一个函数就行了,如下:
//获取顶级栏目的栏目图片 李国平更新于2021.3.11 function GetTopTypeimg($id) { global $dsql; $row = $dsql->GetOne("SELECT typeimg,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0') { return $row['typeimg']; } else { $row1 = $dsql->GetOne("SELECT typeimg FROM dede_arctype WHERE id= $row[topid]"); return $row1['typeimg']; } }
前台调用方法为:
<img src="{dede:field name='typeid' function="GetTopTypeimg(@me)" /}">
这样也可以调用了。完美!!
推荐学习:dedecms教程
以上是织梦cms怎么增加栏目图片的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

织梦cms安全性相对比较好,其原因有:1、漏洞修复速度快;2、CSRF(跨站点请求伪造)保护;3、XSS(跨站脚本攻击)保护;4、SQL注入保护;5、代码审计。

织梦CMS站群实践分享近年来,随着互联网的快速发展,网站建设变得越来越重要。在建设多个网站时,站群技术成为了一个非常有效的方法。而在众多网站建设工具中,织梦CMS凭借其灵活性和易用性成为了不少站群爱好者的首选。本文将分享一些关于织梦CMS站群的实践经验,以及一些具体的代码示例,希望能为正在探索站群技术的读者提供一些帮助。1.什么是织梦CMS站群?织梦CMS

织梦cms连接数据库失败解决方法:1、检查数据库配置,确保在织梦CMS的根目录下的 /data/config.php 文件中正确设置了数据库的相关信息;2、测试数据库连接,通过创建一个简单的PHP脚本来测试数据库连接是否成功;3、检查数据库服务器状态,在织梦CMS的根目录下的 /data/config.php 文件中更换数据库服务器地址;4、检查网络连接。

标题:解析织梦CMS二级目录打不开的原因及解决方案织梦CMS(DedeCMS)是一款功能强大的开源内容管理系统,被广泛应用于各类网站建设中。然而,有时候在搭建网站过程中可能会遇到二级目录无法打开的情况,这给网站的正常运行带来了困扰。在本文中,我们将分析二级目录打不开的可能原因,并提供具体的代码示例来解决这一问题。一、可能的原因分析:伪静态规则配置问题:在使用

织梦cms系统没有收费。织梦CMS是一款开源的内容管理系统,其核心代码是免费提供的,用户可以免费下载最新版本的织梦CMS,并且还可以获取相关的技术支持和文档。但在使用过程中,用户可能需要购买额外的功能模块或者主题模板,这些是收费的,购买这些收费的模块和模板,价格根据具体的功能和设计复杂度而定。

织梦CMS是一款非常流行的网站建设系统,它的功能强大,界面友好,容易上手。但是有时候,我们会发现要实现一些特殊的需求,仅凭它原本提供的功能可能有些力不从心。针对这种情况,我们可以进行二次开发,通过定制化代码来实现个性化的网站需求。本文将分享一些关于织梦CMS二次开发的秘籍,帮助你解锁个性化网站定制的技巧。1.首页轮播图自定义需求描述:原本的织梦CMS首页

标题:织梦CMS数据库文件删除注意事项织梦CMS作为一款流行的网站建设工具,其数据库文件删除是网站维护中经常遇到的问题之一。不正确的数据库文件删除操作可能导致网站数据丢失或网站无法正常运行,因此,在进行数据库文件删除操作时,我们必须格外谨慎。下面将介绍织梦CMS数据库文件删除的注意事项,并提供一些具体代码示例,帮助大家正确进行数据库文件删除操作。注意事项:备

织梦CMS(DedeCMS)是一款广泛应用于网站建设的内容管理系统,提供了丰富的功能和灵活的定制性。然而,有时候我们需要删除数据库中的一些文件来清理空间或者解决一些问题,本文将为大家介绍如何在织梦CMS中操作删除数据库文件,并提供具体的代码示例。第一步:备份数据库在进行任何数据库操作之前,务必先备份数据库以防止意外发生。可以通过phpMyAdmin或者其他数
