我想要在dedecms里面实现以下功能,请大神帮我写一段代码,用dedecms标签或者自定义标签。

获取文章列表,功能描述如下:最终可以以这种形式在网页中显示<divclass=css1><liclass=css2>list1</li><liclass=css3>lis... 获取文章列表,功能描述如下:最终可以以这种形式在网页中显示
<div class=css1>
<li class=css2>list1</li>
<li class=css3>list2</li>
<li class=css3>list3</li>
<li class=css3>list4</li>
</div>
.......
<div class=css1>
<li class=css2>list100</li>
<li class=css3>list101</li>
<li class=css3>list102</li>
<li class=css3>list103</li>
</div>
div标签要循环,div下有4个li标签,li标签有两种不同的样式,可以去除从list1到list100,无限循环可以去除指定数量的列表。我现在想出了div标签内的li列表循环,但是怎么让div循环却不知道,请大神帮忙写段代码,可以让div也循环,li标签页循环,他们都是调取的都是文章内容列表
不好意思,上面的图片有点错误,LIST 4重复了,列表按顺序取下去。算是不用dedecms里面实现,能否用js实现,最好能把代码贴上来,CSS样式可以用空,或者最简单的css样式
展开
 我来答
辞友缘心
推荐于2016-08-30 · TA获得超过684个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:358万
展开全部

在\dede\include\extend.func.php文件中添加如下函数:


function getArticleList($category=0,$order="",$limit="0,200"){
global $dsql;
$query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
        tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
        FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arc.typeid=tp.id
        where tp.id=$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文件,常用字段都给你写在注释里了。

如果可以请也将我昨天给你回答的采纳一下。

追问
分肯定是你的,我还没有测试,可能还有问题需要请教你,我暂时先不关闭问题了,过两天就关闭。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式