织梦dedecms获得文章body的三种方法
在织梦dedecms(DedeCMS)内容管理系统中,获取文章的正文部分(body)可以通过多种方法实现,以下是三种常用的方法:
方法一:使用SQL语句
通过在模板文件中嵌入SQL标签,可以直接从数据库中查询指定ID的文章正文,示例代码如下:
{dede:sql sql='Select body fromdede_addonarticle
where aid=146'}
[field:body/]
{/dede:sql}
此方法适用于需要精确控制查询条件的情况,如根据特定ID获取文章内容。
方法二:使用arclist标签
arclist标签是DedeCMS内置的强大标签之一,通过设置typeid和idlist属性,可以在首页或其他列表页展示指定分类下的文章正文,示例代码如下:
{dede:arclist typeid='49' idlist='146' addfields='body' channelid='1' } <section class="recommend"> [field:body/] </section> {/dede:arclist}
在此例中,typeid指定了文章所属的栏目ID,idlist则指定了文章的ID,addfields属性用于添加额外的字段,这里设置为body以获取文章正文。
方法三:混搭使用
结合arclist标签和其他自定义标签或PHP代码,可以实现更复杂的内容展示逻辑,可以在列表页展示最新文章的摘要,并链接到详细页查看全文,示例代码如下:
{dede:arclist typeid='48' limit='0,10'}
<li><time class="date">[field:id runphp='yes']
$aid = @me;
$row = $GLOBALS['dsql']>GetOne("Select activitydate Fromdede_addonarticle20
where aid='$aid' ");
@me = "{$row['activitydate']}";
[/field:id]</time><a href="[field:arcurl/]" title="查看详情">[field:title/]</a></li>
{/dede:arclist}
在这个例子中,除了使用arclist标签列出文章外,还通过runphp属性执行了一段PHP代码来获取文章的其他信息(如发布日期),并将这些信息与文章标题一起展示。
FAQs(常见问题解答)
Q1: 如何在首页调用多篇文章的body内容?
A1: 要在首页调用多篇文章的body内容,可以使用arclist标签并设置typeid为对应栏目的ID,然后通过addfields=’body’来指定需要获取的字段,示例代码如下:
{dede:arclist typeid='1' row='4' addfields='body' channelid='1'} [field:body/] {/dede:arclist}
这段代码将会显示ID为1的栏目下的前4篇文章的正文内容。
Q2: 如何分离文章正文中的图片和文字?
A2: 如果需要将文章正文中的图片和文字分开处理,可以使用正则表达式匹配并移除图片标签,示例代码如下:
<div> {dede:field.body runphp=yes} $string = @me; $result = preg_replace("/<s*img[^>]+>/i", "", $string); @me = $result; {/dede:field.body} </div>
这段代码会移除文章正文中的所有图片标签,只保留文字内容,如果还需要进一步处理图片,可以根据实际需求调整正则表达式。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1112372.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复