html,{dede:arclist typeid='1' row='10' titlelen='50' orderby='pubdate'},, [field:title/],[field:description function="cn_substr(@me,1,150)"/],,{/dede:arclist},
“,,这段代码表示调用ID为1的栏目下的最新10篇文章,每篇文章显示标题和摘要(长度不超过150个字符),并按发布时间排序。在织梦CMS(DedeCMS)中,首页和列表页的文章内容调用是一个常见的需求,通过合理的标签和设置,可以实现这一功能,本文将详细介绍如何在织梦CMS中实现首页和列表页调用文章内容的方法。
1. 首页调用文章内容
在织梦CMS中,首页通常显示的是文章列表,而不是完整的文章内容,有时我们需要在首页显示部分文章内容,以吸引用户点击,要实现这一点,可以使用以下方法:
方法一:使用{dede:field name='body'/}
在模板文件中,使用{dede:field name='body'/}
标签可以调用文章的内容。
<div class="content"> <h3>{$title}</h3> <p>{dede:field name='body' function='substr(@me,0,200,"...")'/}</p> </div>
这里,我们使用了substr
函数来截取文章的前200个字符作为摘要显示在首页。
方法二:使用自定义标签
除了内置的{dede:field}
标签外,还可以创建自定义标签来调用文章内容。
1、在/data/taglibs
目录下创建一个名为mytag.lib.php
的文件。
2、编辑该文件,添加以下代码:
<?php function lib_mytag($tagid, $params) { global $dsql; $typeid = $params['typeid']; $row = $dsql>GetOne("SELECT * FROM #@__archives WHERE id=$typeid"); if ($row['typeid'] == 1) { return $row['body']; } else { return ''; } } ?>
3、在模板文件中,使用{mytag typeid=1}
标签调用文章内容。
<div class="content"> <h3>{$title}</h3> <p>{mytag typeid=1}</p> </div>
2. 列表页调用文章内容
在列表页上,通常会显示多篇文章的列表,要在列表页上调用文章内容,可以使用以下方法:
方法一:使用{dede:list}
在模板文件中,使用{dede:list}
标签可以列出指定栏目下的所有文章。
<ul> {dede:list pagesize='10'} <li> <h3>[field:title/]</h3> <p>[field:description function='substr(@me,0,200,"...")/]</p> </li> {/dede:list} </ul>
这里,我们使用了pagesize
属性来设置每页显示的文章数量,以及substr
函数来截取文章的前200个字符作为摘要显示在列表页。
方法二:使用自定义标签
同样地,也可以创建自定义标签来调用文章内容。
1、在/data/taglibs
目录下创建一个名为mylist.lib.php
的文件。
2、编辑该文件,添加以下代码:
<?php function lib_mylist($tagid, $params) { global $dsql; $typeid = $params['typeid']; $row = $dsql>GetOne("SELECT * FROM #@__archives WHERE id=$typeid"); if ($row['typeid'] == 1) { return $row['body']; } else { return ''; } } ?>
3、在模板文件中,使用{mylist typeid=1}
标签调用文章内容。
<ul> {mylist typeid=1} <li> <h3>[field:title/]</h3> <p>[field:description function='substr(@me,0,200,"...")/]</p> </li> {/mylist} </ul>
FAQs
问题1:如何在首页显示完整的文章内容?
答:在模板文件中,使用{dede:field name='body'/}
标签可以调用完整的文章内容。
<div class="content"> <h3>{$title}</h3> <p>{dede:field name='body'/}</p> </div>
问题2:如何限制列表页上显示的文章数量?
答:在{dede:list}
标签中,使用pagesize
属性可以设置每页显示的文章数量,要显示10篇文章,可以这样写:
<ul> {dede:list pagesize='10'} <li> <h3>[field:title/]</h3> <p>[field:description function='substr(@me,0,200,"...")/]</p> </li> {/dede:list} </ul>
织梦dede首页列表页调用文章内容详解
1. 引言
在织梦dede(织梦CMS)中,首页和列表页是展示文章内容的重要页面,正确调用文章内容对于网站的整体布局和用户体验至关重要,以下将详细介绍如何在织梦dede中实现首页和列表页的文章内容调用。
2. 首页文章内容调用
2.1 准备工作
确保已安装织梦dede并创建了相应的文章模型。
2.2 调用代码
在首页模板中,可以使用以下代码调用文章内容:
<?php
$dsql = new DedecmsSql(); // 创建数据库连接对象
$sql = "SELECT id, title, litpic, intro, arcurl FROMdede_arctype
WHERE id = 1"; // 假设id为1的是首页文章类型
$dsql>SetQuery($sql);
$dsql>Execute();
while ($row = $dsql>GetArray())
{
?>
<div class="article">
<a href="<?php echo $row['arcurl']; ?>"><img src="<?php echo $row['litpic']; ?>" alt="<?php echo $row['title']; ?>"></a>
<h2><a href="<?php echo $row['arcurl']; ?>"><?php echo $row['title']; ?></a></h2>
<p><?php echo $row['intro']; ?></p>
</div>
<?php
}
?>
3. 列表页文章内容调用
3.1 准备工作
确保已创建列表页模板,并设置好相应的分类ID。
3.2 调用代码
在列表页模板中,可以使用以下代码调用文章内容:
<?php
$cid = 1; // 假设这里是分类ID
$dsql = new DedecmsSql();
$sql = "SELECT id, title, litpic, arcurl, addtime FROMdede_arc
WHERE typeid = $cid ORDER BY addtime DESC";
$dsql>SetQuery($sql);
$dsql>Execute();
while ($row = $dsql>GetArray())
{
?>
<div class="listarticle">
<a href="<?php echo $row['arcurl']; ?>"><img src="<?php echo $row['litpic']; ?>" alt="<?php echo $row['title']; ?>"></a>
<h3><a href="<?php echo $row['arcurl']; ?>"><?php echo $row['title']; ?></a></h3>
<time><?php echo date('Ymd', $row['addtime']); ?></time>
<p><?php echo $row['intro']; ?></p>
</div>
<?php
}
?>
4. 归纳
通过以上步骤,您可以在织梦dede的首页和列表页中成功调用文章内容,注意,具体的代码可能需要根据您的网站结构和需求进行调整。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1154399.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复