在织梦(DedeCMS)中,首页和列表页默认只显示文章的简介内容,而不显示全文,如果希望在这些页面上调用文章的完整正文内容(即body部分),可以通过以下两种方法实现。
方法一: 修改模板文件
1、定位模板文件:
对于首页,通常需要修改的是index.htm
文件。
对于列表页,则是list_article.htm
或者你自定义的列表模板文件。
2、编辑模板文件:
打开对应的模板文件,找到控制文章列表输出的部分。
将显示简介的标签如[field:description/]
替换为显示正文的标签[field:body/]
。
3、保存并上传:
保存修改后的模板文件。
通过FTP或者其他方式上传至服务器的相应目录。
4、清除缓存并测试:
清除DedeCMS的缓存。
访问首页或列表页查看效果。
方法二: 使用Dede标签函数
1、创建自定义函数:
在include
目录下创建一个PHP文件,例如命名为getBody.php
。
在该文件中编写函数,用于获取文章的body内容。
function getBody($aid, $cID){
$dsql = new DedeSql(false);
$row = $dsql>GetOne("Select body From#@__archives
where id='$aid'");
return $row['body'];
}
2、注册自定义函数:
在member
目录下找到config.php
文件。
在文件末尾添加代码以包含你的自定义函数文件。
require_once(DEDEROOT."/include/getBody.php");
3、在模板中调用函数:
在需要显示全文的模板位置调用getBody
函数,传入文章ID和栏目ID作为参数。
{getBody('[field:id/]', '[field:typeid/]')}
4、更新并检查:
保存模板文件并上传。
清除缓存后,访问页面以确认函数调用成功并正确显示文章内容。
相关问答FAQs
Q1: 修改模板后,文章列表页没有显示文章全文是什么原因?
A1: 请检查以下几点:
确保你修改了正确的模板文件。
确保使用的标签正确,例如[field:body/]
而不是[field:description/]
。
清除DedeCMS的缓存,有时候缓存会导致页面不显示最新更改。
如果问题依旧,请检查是否有其他插件或代码影响了输出。
Q2: 使用自定义函数无法调用文章内容怎么办?
A2: 可以尝试以下步骤进行排查:
确认getBody.php
文件路径和编码正确,并且已经成功被config.php
包含。
确认getBody
函数中的SQL查询语句正确无误,并且能够从数据库中获取到数据。
检查模板中函数调用的语法是否正确,确保传入的参数类型与函数定义一致。
清除DedeCMS缓存,查看是否是缓存导致的问题。
如果以上步骤都无法解决问题,建议检查日志文件或联系DedeCMS官方支持寻求帮助。
是关于在织梦系统中首页和列表页调用文章body内容的两种方法的介绍及相关问题的解答,在实际操作时,请根据自己的实际情况选择合适的方法,并注意备份文件和数据以防万一。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/986753.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复