织梦文章管理系统(dedecms)的几个应用小技巧 不指定

jed , 2007-11-6 16:34 , 代码编程 , 评论(0) , 阅读(3084) , Via 本站原创 | |
1、在{dede:artlist}{/dede:artlist}中把stime的显示格式由0000-00-00改为其他格式



[field:pubdate function='strftime("%m-%d",@me)'/] 格式00-00
[field:pubdate function='strftime("%m/%d",@me)'/] 格式00/00
[field:pubdate function='strftime("%y/%m/%d",@me)'/] 0000/00/00



2、栏目名称边上加(文章条数)功能
方法: 打开 \include\inc_arcpart_view.php 在 "//获得一个类目的链接信息" 下面找到


if(!is_array($row)) return "";



在其上面加上两行:



$countarc = $this->dsql->GetOne("Select count(ID) as dd From #@__archives where typeid='$typeid'");
$row['totalarc']=$countarc['dd'];



然后 在 模版的 [field:typename /] 后加上 ( [field:totalarc /] ) 调用即可!

3、相关文章更相关的修改方法
相关的含义是:文章的关键字和其它文章的关键字相同或者文章的关键字在其它文章题目中。
在inc_fun_SpGetArcList.php中可以看出来


$orwhere .= " And CONCAT(arc.title,arc.keywords) REGEXP '$rstr' ";


原帖mylove2046写的:
"相关文章"的正确修改方法
无论是V3版还是V4版,"相关文章"都不相关,修改方法如下:
includeinc_archives_view.php
在第330行附近找到


if($tagname=="likeart") $keywords = ""; //str_replace(" ",",",trim($this->Fields['keywords']));


改为

if($tagname=="likeart") $keywords = str_replace(" ",",",trim($this->Fields['keywords']));

在335行附近找到

else if($tagname=="likeart") $orderby = "near";

改为

else if($tagname=="likeart") $orderby = "id";

其实改动一下代码和系统配置,其它配置里面的系统变量,使用关键词关连文章:

if($tagname=="likeart") $keywords = ""; //str_replace(" ",",",trim($this->Fields['keywords']));

改为

if($tagname=="likeart") $keywords = str_replace(" ",",",trim($this->Fields['keywords']));

4、dedecms会员登录后修改个人资料报错
现象
member\index_do.php on line 262
解决办法
在 $dsql->SetQuery($query);之前加上一段

$dsql = new DedeSql();

5、Tag加链接

{dede:field name='keywords' runphp='yes' }
if(!empty(@me)){
$kws = explode(' ',@me);
@me = "";
foreach($kws as $k){
  @me .= "<a href='/plus/search.php?keyword=$k' target='blank'>$k</a> ";
}
@me= str_replace('+', ' ',trim(@me));
}
{/dede:field}

6、栏目合并:

update dede_archives set typeid=新ID where typeid=原ID
update dede_addonarticle set typeid=新ID where typeid=原ID

6、新文章带NEW

[field:senddate runphp='yes']
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)<$oneday) @me = "<font color='red'>[new]</font>";
else @me = "";
[/field:senddate]

7、LOOP标记调用最新评论

{dede:loop table="dede_feedback" sort="dtime" row="5"}    
<a href='http://xxxxx/plus/view.php?aid=[field:aid /]' target="_blank" title='文章标题:[field:arctitle/]    
评论时间:[field:dtime function="GetDateMk('@me')"/]    
发布作者:[field:username /]'>  
[field:msg function="cn_substr('@me',50)" /]    
</a>  
<br>  
{/dede:loop}


发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]