SEO博客首页 > 建站技术 > DEDECMS给栏目增加缩略图的功能

DEDECMS给栏目增加缩略图的功能

最近朋友在弄个减肥网站,看到他仿的网站上有个专题功能很不错,让我帮他做一个,我看了一下,发现那个网站的专题用DEDECMS默认的专题功能是做不出的。他并不是对每个专题将其他栏目中相关的内容聚合进来,而是这个专题相当于一个大栏目,下面好多小栏目,也就是每个具体的专题了,比如:冬季减肥、夏季减肥等,而相关的文章是分别再发表到这些对应栏目的。

其实这就是一个频道加二级分类的功能,但主要是这个频道封面的首页展示形式比较特别,就是一排对应栏目的列表,有缩略图,栏目名称,栏目介绍,就像一般的文章列表一样,而DEDE默认栏目的列表是实现不了的。如图:

这里记录一下我解决的过程:

首先我想到栏目的介绍可以用设置的描述内容来获取,就是在栏目设置的高级选项中添加栏目描述,这个比较简单,最大的问题是缩略图的添加。我是用栏目内容来实现,点开子分类的“更改”切换到栏目内容选项,如图:

DEDE栏目内容

然后前台利用{dede:channel}{/dede:channel},但DEDE默认这个标签调用不出栏目内容里的东西,所以要修改:include/taglib/channel.lib.php  这个文件,找到以下代码

$sql = “Select id,typename,typedir,isdefault,ispart,description,content,defaultname,namerule2,moresite,siteurl,sitepath

    From `#@__arctype` where reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0, $line “;

在select后面那些字段中添加content这一字段就可以了。这样是调用出来了,但却又有问题了,栏目内容里添加的图片,默认编辑器里会生成一些代码,而不是单纯的一个图片“<img>”代码,是像这样的:

<div><img style=”cursor: pointer” onclick=”window.open(‘/uploads/allimg/100823/1_100823173030_1.jpg’)” border=”0″ alt=”" src=”http://127.0.0.1:827/uploads/allimg/100823/1_100823173030_1.jpg” width=”449″ height=”403″ /><br />
 </div>

或者是这样:

<p><img style=”cursor: pointer” border=”0″ alt=”" width=”280″ height=”220″ onclick=”window.open(‘/uploads/allimg/100819/1_100819203632_1.jpg’)” src=”/uploads/allimg/100819/1_100819203632_1.jpg” /></p>
<p> </p>

这些都会直接调用到前台的代码中,这样就很麻烦了,不能很好地设置CSS,而且产生不必要的代码,当然如果去改编辑器应该可以弄好,但是编辑器改了可能引起发表其他文章也出现问题,所以最好还是不动这些系统原来的代码。

DEDE的模板标签真的很强大,支持很多PHP函数,接下来我利用字符串和正则替换搞定了这个,代码如下:

<img src=”[field:content function='ereg_replace("width=(.+)\"","",str_replace("<br />","",str_replace(" ","",str_replace("<div>","",str_replace("</div>","",str_replace("<p>","",str_replace("</p>","",str_replace("\" />","",ereg_replace("<img(.+)src=\"","",@me)))))))))'/]” alt=”[field:typename/]” />

 这里我把所有代码都替换为空,只留下了图片的地址,这样自己写IMG标签是为了加个ALT属性方便,都设置为对应的栏目名称,这样就不用在后台上传图片时再去写ALT文字,省了点时间。因为对正则不怎么会,可能里面的代码还有更好的替换方式,有知道的朋友还请指正。

对了,还有一点,随着以后专题内容会越来越多,可能会增加不少子分类,那就不能只在一个页面显示了,下次有时间我再研究一下栏目列表的分页,搞定了就发上来,呵呵。

这个页面的最终效果请查看:http://www.jfte.cn/jianfeizhuanti/ ,也是我朋友的新站,大家多多支持哈。

如果哪位朋友有更好的方法,希望能分享,觉得有用的朋友记得收藏哦,万一哪天要用了,找不到就麻烦,嘿嘿。

115 Responses to “DEDECMS给栏目增加缩略图的功能”

  1. #1 前端小站 回复 | 引用 2013-03-16 19:39

    想问下站长 增加了 栏目缩略图 如何在 首页调用呢!

  2. #2 lee 回复 | 引用 2012-10-19 15:28

    是了一下,不行呢

  3. #3 qq:605350315 回复 | 引用 2011-11-27 18:34

    实验了,不行,不能提取任意一个id,只能提取下级每个栏目,son之类的才行,单独的比如typeid=’28′,就不能用了,百搭

  4. #4 张萌萌 回复 | 引用 2011-06-19 12:00

    没用过呀 不过还是支持下

  5. #5 如何去脸上的红血丝 回复 | 引用 2011-06-17 22:13

    认真学习下,感谢肖老师

  6. #6 办公室风水 回复 | 引用 2011-03-23 14:42

    恩不错啊我有时间也看看

  7. #7 汽车贴膜品牌排行榜 回复 | 引用 2010-12-24 00:03

    dede 没想到这么强大

  8. #8 caior 回复 | 引用 2010-11-25 23:56

    萧寒大哥你好,我也用了你的主题,非常好,在此表示衷心感谢,但我又遇到一个问题,我看到网上有个Wordpress Security Scan插件,可以通过修改数据库前缀提高安全性,于是我就装上了并且运行了,数据库前缀修改掉了,这时我在您的主题首页进后台又进不去了,显示我没有足够权限登陆后台。但网站访问显示正常。目前我通过FTP登陆后台,把这个插件删除了,又通过数据库管理后台把数据库前缀都手动改回了wp-,但登陆网站后台还是显示我没有足够权限,您能在百忙中给些指点么?小弟不胜感激,我是实在没有办法了!谢谢

  9. #9 淘宝丰胸 回复 | 引用 2010-11-12 12:31

    不错,支持一下!

  10. #10 北京呼吸机 回复 | 引用 2010-10-19 10:05

    这可是好东西啊,拿回去试试

  11. #11 乐泰胶水 回复 | 引用 2010-10-07 15:21

    先收藏了,也许以后用得到的,萧涵厉害

  12. #12 化妆品排行榜 回复 | 引用 2010-09-30 14:57

    dede 一直都很强大

评论分页

发表评论