在使用Dedecms进行内容采集时,常常会遇到一些默认功能的限制。例如,默认情况下,Dedecms只能采集到keywords,而无法生成tags标签,并且采集回来的描述(description)通常是空的,需要手动编辑才能生成相关内容。为了解决这些问题,我们可以对Dedecms的代码进行一些修改。
以下是具体的解决方法:
首先,打开后台管理目录下的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,无论原网页是否有相关内容,都会根据采集回来的正文自动生成纯文本,无需担心乱码或不规范的内容问题。
以上方法可以有效提升Dedecms采集功能的实用性,帮助网站管理员更高效地管理内容。