dedecms图文列表列表页调用标签
时间 : 2024-01-20 22:15:02 声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
最佳答案
在DedeCMS中,调用图文列表列表页可以使用以下标签:
1. {dede:arclist}标签:该标签用于获取文章列表,并按照设定的条件进行排序和筛选。可以设置的属性有:
- typeid:指定分类id,可以使用id的形式,也可以使用栏目的目录名称。
- channelid:指定频道id,可以使用id的形式,也可以使用频道的拼音名称。
- keyword:指定关键词,用于检索包含指定关键词的文章。
- orderby:指定排序方式,可以设置为addtime(按发布时间排序)、click(按点击次数排序)等。
- row:指定返回的文章数量。
- page:指定当前页码。
- titlelen:指定文章标题的最大长度。
示例代码如下:
{dede:arclist typeid="1" orderby="click" row="10" page="$page" titlelen="50"}
<li><a href="[field:arcurl /]">[field:title /]</a></li>
{/dede:arclist}
2. {dede:channelartlist}标签:该标签用于获取指定频道下的文章列表。可以设置的属性有:
- channelid:指定频道id,可以使用id的形式,也可以使用频道的拼音名称。
- typeid:指定分类id,可以使用id的形式,也可以使用栏目的目录名称。
- orderby:指定排序方式,可以设置为id(按id排序)、click(按点击次数排序)等。
- row:指定返回的文章数量。
- titlelen:指定文章标题的最大长度。
示例代码如下:
{dede:channelartlist channelid="news" typeid="1" orderby="id" row="10" titlelen="50"}
<li><a href="[field:arcurl /]">[field:title /]</a></li>
{/dede:channelartlist}
3. {dede:flink}标签:该标签用于获取友情链接列表。可以设置的属性有:
- typeid:指定分类id,可以使用id的形式,也可以使用栏目的目录名称。
- orderby:指定排序方式,可以设置为orderid(按排序id排序)、addtime(按添加时间排序)等。
- row:指定返回的链接数量。
示例代码如下:
{dede:flink typeid="1" orderby="orderid" row="10"}
<li><a href="[field:linkurl /]">[field:webname /]</a></li>
{/dede:flink}
以上是在DedeCMS中调用图文列表列表页的几个常用标签。你可以根据自己的需求选择合适的标签,并根据需要设置相应的属性。
其他答案
在使用dedecms建设网站时,要实现图文列表页的调用,可以使用dedecms中的标签来实现。
首先在需要调用图文列表的地方,添加以下代码:
<?php
$typeid = isset($typeid) ? intval($typeid) : 0;
$pageno = isset($pageno) ? intval($pageno) : 1;
$pagesize = isset($pagesize) ? intval($pagesize) : 20;
$totalcount = 0;
$list = '';
$channelid = 1; // 根据实际情况替换为对应的栏目ID
// 获取总数量
$totalcount = GetList($channelid, $typeid, $pageno, $pagesize);
// 获取列表
$list = GetPageList($channelid, $typeid, $pageno, $pagesize);
?>
<!-- 在这里输出列表内容 -->
<?php echo $list; ?>
<!-- 添加翻页导航 -->
<?php
if ($totalcount > $pagesize) {
$param = array(
'channelid' => $channelid,
'typeid' => $typeid,
'pageno' => $pageno,
'pagesize' => $pagesize,
'totalcount' => $totalcount
);
echo GetPageHtml($param);
}
?>
然后需要在dedecms的系统后台中添加以下自定义函数:
/**
* 获取列表总数量
* @param int $channelid 栏目ID
* @param int $typeid 分类ID
* @param int $pageno 当前页码
* @param int $pagesize 每页显示数量
* @return int 列表总数量
*/
function GetList($channelid, $typeid, $pageno, $pagesize) {
$totalcount = 0;
$totalcount = $GLOBALS['dsql']->GetOne("SELECT COUNT(*) FROM `#@__archives` WHERE channel = $channelid AND typeid = $typeid AND arcrank >= 0");
return $totalcount['COUNT(*)'];
}
/**
* 获取列表内容
* @param int $channelid 栏目ID
* @param int $typeid 分类ID
* @param int $pageno 当前页码
* @param int $pagesize 每页显示数量
* @return string 列表内容HTML
*/
function GetPageList($channelid, $typeid, $pageno, $pagesize) {
$list = '';
$limitstart = ($pageno - 1) * $pagesize;
$limit = " LIMIT $limitstart, $pagesize";
$results = $GLOBALS['dsql']->GetOne("SELECT GROUP_CONCAT(a.id) AS ids FROM `#@__archives` a WHERE a.channel = $channelid AND a.typeid = $typeid ORDER BY a.id DESC $limit");
$ids = $results['ids'];
if (!empty($ids)) {
$query = "SELECT a.*, t.typename FROM `#@__archives` a LEFT JOIN `#@__arctype` t ON a.typeid = t.id WHERE a.id IN ($ids) ORDER BY a.id DESC";
$results = $GLOBALS['dsql']->GetQuery($query);
while ($row = $GLOBALS['dsql']->GetArray($results)) {
// 根据需要的字段输出列表内容
$list .= '<h3><a href="'.$row['arcurl'].'" target="_blank">'.$row['title'].'</a></h3>';
$list .= '<p>'.$row['litpic'].'
';$list .= '<p>'.$row['pubdate'].'
';$list .= '<p>'.$row['typename'].'
';}
}
return $list;
}
/**
* 获取翻页导航HTML
* @param array $param 参数数组
* @return string 翻页导航HTML
*/
function GetPageHtml($param) {
$pageno = $param['pageno'];
$pagesize = $param['pagesize'];
$pagecount = ceil($param['totalcount'] / $pagesize);
$html = '';
if ($pageno > 1) {
$html .= '<a href="'.GetPageUrl($param, $pageno - 1).'">上一页</a>';
}
$start = $pageno - 3;
$end = $pageno + 3;
if ($start < 1) {
$start = 1;
$end = min($pagecount, $start + 6);
}
if ($end > $pagecount) {
$end = $pagecount;
$start = max(1, $end - 6);
}
for ($i = $start; $i <= $end; $i++) {
if ($i == $pageno) {
$html .= '<span>'.$i.'</span>';
} else {
$html .= '<a href="'.GetPageUrl($param, $i).'">'.$i.'</a>';
}
}
if ($pageno < $pagecount) {
$html .= '<a href="'.GetPageUrl($param, $pageno + 1).'">下一页</a>';
}
return $html;
}
/**
* 获取分页URL
* @param array $param 参数数组
* @param int $pageno 页码
* @return string 分页URL
*/
function GetPageUrl($param, $pageno) {
$url = '';
$typeid = $param['typeid'];
$pagesize = $param['pagesize'];
if ($pageno == 1) {
$url = '?typeid='.$typeid.'&pagesize='.$pagesize;
} else {
$url = '?typeid='.$typeid.'&pageno='.$pageno.'&pagesize='.$pagesize;
}
return $url;
}
在使用时,需要将代码中的$channelid替换为实际的栏目ID,可以在dedecms的系统后台中找到对应的栏目ID。
另外,需要根据实际需要修改GetPageList函数中的输出的字段,以及修改GetPageHtml函数来定制翻页导航的样式。
以上就是在dedecms中实现图文列表列表页调用的标签的方法,按照上面的方法进行操作,即可实现图文列表的调用。
上一篇
zblog asp小说主题
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章







