请教大家一个关于dede列表页 按关键词调用文章的问题
1、首先登录织梦网站后台,点击:系统—>SQL命令行工具(如图所示)。
2、打开SQL命令运行器,运行代码:ALTER TABLE `数据表前缀_archives` MODIFY COLUMN `keywords` char(168)(如图所示)。
3、找到article_editphp、article_addphp文件(如图所示)。
4、打开文件article_addphp,并找到代码:$keywords = cn_substrR($keywords,60),然后把数字60改成168(如图所示)。
5、打开文件article_editphp,并找到代码:$keywords = trim(cn_substrR($keywords,60));然后把数字60改成168,织梦程序修改标签限制字数就可以了。
在\dede\include\extendfuncphp文件中添加如下函数:
function getArticleList($category=0,$order="",$limit="0,200"){
global $dsql;
$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,
tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath
FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid
where tpid=$category";
//此sql语句我只加了where判断文章所属分类
//其他的order limit 你根据需要自己添加
$dsql->SetQuery($query);
$dsql->Execute('lit');
$arr = array();
$cnt = 0;
$str = "";
while ($row = $dsql->GetArray('lit')) {
if($cnt%4 == 0){
$str = "<div class='css1'>";
}
if($cnt%4 > 0){
$class = "css3";
}else{
$class = "css2";
}
$str = "<span class='"$class"'>"$row['title']"</span>";
$cnt++;
if($cnt%4 == 0){
$str = "</div>";
}
//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']
}
return $str;
}
然后在模板中使用
{dede:field name='typeid' function="getArticleList(@me)" /}
将分类的id传给此函数就可以调用到数据,输出就是你要的格式。
输出内容你修改下php文件,常用字段都给你写在注释里了。
如果可以请也将我昨天给你回答的采纳一下。
用Dedecms中的arclist标签也是可以在列表页调用文章内容的,虽然在官方的标签说明中,arclist标签的底层标签中不包含body。调用的Html格式如下:
{dede:arclist typeid='' titlelen='' limit='' orderby='' addfields='body' channelid='1'}
[field:body/]
{/dede:arclist}
重点就是addfields='body' channelid='1'这部分,意思为调用ID为1的内容模型中的附加字段body。因此除了在列表页中加入上述代码外,还需要进入Dedecms后台--核心--频道模型--内容模型管理--普通文章,点击进入后,在“列表附加字段”这个项目中添加字段:body,这样就可以了。
dedecms文章列表页调用每篇文章的作者需要进行二次开发,输入代码增加标签调用,具体操作如下:
1、打开php终端,在文件的最后面添加如下代码,增加织梦默认没有的标签。
2、需要注意dede_为织梦默认的数据库表前缀,如果数据库表前缀不是dede_就请修改。
3、然后文章列表页调要用每篇文章的作者账号的相关信息,比如性别,输入下图代码。
5、调用作者昵称的命令如下图,上面的sex,uname为会员的字段名称。
decms文章页上一篇、下一篇调用代码:
上一篇:{dede:prenext get='pre'/}
下一篇:{dede:prenext get='next'/}
0条评论