dedecms栏目文章技术和调用第一张图片的方法
最近做了一个简单的笑话网站,用的是织梦现成的源码。但是源码比较旧,用新的织梦搭建会出现首页500和图片栏目无法生成的情况。经过不断的删除——测试。发现是因为dedecms模板使用了栏目文章数统计和调用第一张图片的功能呢。而默认情况下是不支持的,所以需要我们自行添加
文章数统计功能
dede统计栏目文章数这一功能还是比较实用的,本文为大家介绍两种实现方法,大家可以根据需求自由选择,喜欢的朋友可以参考下
方法一
涉及到文件:include/common.func.php
在include/common.func.php最下面也就是?>前加入以下代码
- function GetTotalArc($tid){
- global $dsql;
- $sql = GetSonIds($tid);
- $row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");
- return $row['dd'];
- }
调用方法:
- [field:ID function='GetTotalArc(@me)'/]
- 或
- [field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]
比如在你的主页模板里添加如下代码:
共{dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type}篇
或在栏目名称后面添加如下代码:
- {dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type}
方法二:
第一步:打开include/common.func.php文件,在最后的?>之前加上:
- //统计栏目文章数
- function GetTotalArc($tid){
- global $dsql;
- $sql = GetSonIds($tid);
- $row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");
- return $row['dd'];
- }
- //统计结束
第二步: 就可以在模板上用以下代码
- {dede:channel type='top' typeid=''}
- <a href='[field:typelink /]'>[field:typename/]</a> ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])
- {/dede:channel}
比如在主页模板上栏目名称({dede:field name='typename'/})
后面添加如下代码:
- {dede:type}[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]{/dede:type}
以上来源于:脚本之家
调用第一张图片
打开 ../ include/ common.func.php 文件。
在最后添加如下代码:
- function firstimg($str_pic)
- {
- $str_sub=str_replace("-lp","","$str_pic"); //把缩略图中的‘"-lp"’ 删掉就是第一张图的地址了。
- return $str_sub;
- }
然后在模板里循环调用:
- [field:litpic function=firstimg('@me')/]
直接调用方法:
- {dede:field name='litpic' function="firstimg(@me)"/}
运用显示:
- <a title="[field:title/]" href="[field:arcurl/]"><img alt="[field:title/]" width="800px" height="470" src="[field:litpic function=firstimg('@me')/]"/></a>
可以自己调整调用图片的大小。
该方法适用于最新版的DEDECMS。添加的位置和方法一一样添加即可。