然而,不写description虽然可能在某些情况下效果更好,但它会导致一个问题:无法在文章列表页调出文章简介,从而影响页面的美观和功能性。
例如,以下代码展示了如何在列表页中调用文章标题、简介以及其他信息:
{dede:list pagesize='10'}
[field:title/]
[field:description/]...
作者:[field:writer/]
发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
{/dede:list}
那么,我们该如何解决这一问题呢?以下是几种可行的解决方案。 一种常见方法是截取文章正文的前100个字符作为简介。这需要结合两个函数:cn_substr(用于截取字符串)和html2text(用于将HTML内容转换为纯文本)。
测试时可以使用以下代码:
[field:body function="cn_substr(html2text(@me),200)"/]
打开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}
这种方法不仅解决了description空白的问题,还为SEO优化提供了更多可能性,使搜索引擎能够更好地理解页面内容,提高排名表现。
在实际应用中,请根据具体需求调整截取长度等参数,以达到最佳效果。