Maison  >  Article  >  Tutoriel CMS  >  Comment dedecms appelle le champ de contenu du corps sur la page de liste

Comment dedecms appelle le champ de contenu du corps sur la page de liste

藏色散人
藏色散人original
2019-12-14 09:58:212026parcourir

Comment dedecms appelle le champ de contenu du corps sur la page de liste

dedecms如何在列表页调用body内容字段?

我们都知道description的优化和seo也是息息相关的,对于seo新手来说往往没有这一方面的经验,不写description可能效果更好,但是不写description会出现一个问题,那就是无法在文章列表页调出文章的简介。

推荐学习:织梦cms

比如下列代码:

{dede:list pagesize='10'}
  
[field:title/]
  
[field:description/]...
  
作者:[field:writer/]
  
发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
  
{/dede:list}

因为没写description这个时候文章简介就会显示空白,严重影响了页面的美观和功用性。

下面是我的一些解决方法。

我们可以用截取文章前100个字作为文章简介,这里要组合使用用两个函数cn_substr和html2text,对文章转义后截取。测试代码:[field:body function="cn_substr(html2text(@me),200)"/],结果发现还是不行,因为body和description不在同一张表里。所以只好从程序上入手了。

打开include文件下extend.func.php添加以下代码: 

//获取单篇文档body
function GetOneArchiveBody($aid,$length)
{
global $dsql;
$aid = trim(ereg_replace('[^0-9]','',$aid));
$body = '';
$query = " Select art.body From `dede_addonarticle` art, `dede_archives` arc where art.aid='$aid' and art.aid=arc.id ";
$arcRow = $dsql->GetOne($query);
if(!is_array($arcRow)) {
return $body;
}
  
if(isset($arcRow['body'])) {
  
$body = cn_substr(html2text($arcRow['body']),$length);
  
}
  
return $body;
  
}

在前台模板调用:

{dede:list pagesize='10'}
  
[field:title/]
  
[field:id function="GetOneArchiveBody(@me,200)"/]...
  
作者:[field:writer/]
  
发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
  
{/dede:list}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn