在使用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采集功能的实用性,帮助网站管理员更高效地管理内容。