据CMS资源网研究发现,织梦dedecms默认的采集功能只能采集到keywords,不能生成tags标签,采集完成后还需要再编辑一下才有。如果没有设置采集description,采集回来的描述这项就是空的,也需要再编辑一下才能生成description内容。
下面CMS资源网就给大家分析一下如何修复这个BUG:
首先打开/dede/co_export.php文件,在大概第183行的位置找到如下代码:
- else if($itemName == 'litpic')
- {
- $litpic = trim($ctag->GetInnerText());
- }
在其下面插入以下代码:
- else if($itemName == 'keywords')
- {
- $keywords = trim($ctag->GetInnerText());
- }
- else if($itemName == 'body')
- {
- $body = trim($ctag->GetInnerText());
- $description = cn_substr(html2text($body),150);
- $description = str_replace(' ','',$description);
- $description = addslashes($description);
- }
然后再找到如下代码:
- $mainSql = str_replace('@sortrank@', $sortrank, $mainSql);
在其下面插入下面这句:
- $mainSql = str_replace('@description@', $description, $mainSql);
再找到如下代码:
- $rs = $dsql->ExecuteNoneQuery($mainSql);
在其下面插入如下代码:
- $tags = InsertTags($keywords, $aid);
修改完成后保存即可。
这样就会在采集的时候,发现原网页上有keywords,采集并导入数据后,就会自动写入TAG,如果本来没有keywords,就留空。description的话不管原网页有没有,都按采集回来的正文自动生成纯文本,不用担心夹杂乱码或者原网页乱七八糟的内容的。