我们都知道description的优化和seo也是息息相关的,对于seo新手来说往往没有这一方面的经验,不写description可能效果更好,但是不写description会出现一个问题,那就是无法在文章列表页调出文章的简介。
比如下列代码:
1 |
{dede:list pagesize= '10' } |
3 |
[field:description/]... |
5 |
发表于:[field:pubdate function = "GetDateTimeMK(@me)" /] 评论:[field:scores/] 点击:[field:click/] |
|
因为没写description这个时候文章简介就会显示空白,严重影响了页面的美观和功用性。
下面是我的一些解决方法。
我们可以用截取文章前100个字作为文章简介,这里要组合使用用两个函数cn_substr和html2text,对文章转义后截取。测试代码:[field:body function="cn_substr(html2text(@me),200)"/],结果发现还是不行,因为body和description不在同一张表里。所以只好从程序上入手了。
打开include文件下extend.func.php添加以下代码:
02 |
function GetOneArchiveBody($aid,$length) |
05 |
$aid = trim(ereg_replace( '[^0-9]' , '' ,$aid)); |
07 |
$query = " Select art.body From `dede_addonarticle` art, `dede_archives` arc where art.aid='$aid' and art.aid=arc.id " ; |
08 |
$arcRow = $dsql->GetOne($query); |
09 |
if (!is_array($arcRow)) { |
12 |
if (isset($arcRow[ 'body' ])) { |
13 |
$body = cn_substr(html2text($arcRow[ 'body' ]),$length); |
|
在前台模板调用:
1 |
{dede:list pagesize= '10' } |
3 |
[field: id function = "GetOneArchiveBody(@me,200)" /]... |
5 |
发表于:[field:pubdate function = "GetDateTimeMK(@me)" /] 评论:[field:scores/] 点击:[field:click/] |
|