我们知道,Dedecms CMS默认的采集功能仅支持文章和图片的采集。然而,对于一些专注于分类信息的站点来说,如何实现分类信息的采集呢?这个问题一直困扰着许多站长,包括我。
今天,在无意中查看 dede/templets/co_add_step0.htm 文件时,我找到了解决办法。这个文件是Dedecms采集功能的第一步选择类型模板。
在仔细研究后,我发现了一段关键代码:
<?php
$dsql->SetQuery("Select id,typename From `dede_channeltype` where id in(1,2) order by id asc ");
$dsql->Execute();
while($row = $dsql->GetObject())
{
echo "<option value='{$row->id}'>{$row->typename}</option>\\r\\n";
}
?>
从代码中可以看出,默认情况下,Dedecms 仅允许采集“文章”(ID=1)和“图集”(ID=2)。然而,我的需求是采集分类信息,而分类信息的 ID 是 -8。于是,我尝试将 -8 添加到代码中,并重新测试采集功能。
令人惊喜的是,修改后的代码成功实现了分类信息的采集!配置界面完整显示了分类信息的所有参数。这意味着,我们可以通过类似的方法扩展其他类型的采集功能,例如软件下载等。
以下是修改后的代码示例:
<?php
$dsql->SetQuery("Select id,typename From `dede_channeltype` where id in(1,2,3,-8) order by id asc ");
$dsql->Execute();
while($row = $dsql->GetObject())
{
echo "<option value='{$row->id}'>{$row->typename}</option>\\r\\n";
}
?>
通过上述修改,您可以轻松实现对分类信息以及其他自定义内容类型的采集。这项改进不仅增强了 Dedecms 的功能,还为站长们提供了更大的灵活性。
希望这篇文章能帮助到有同样需求的朋友。如果你也遇到了类似的采集问题,不妨试试这种方法,或许它会给你带来意想不到的惊喜。
注意:在进行任何代码修改前,请确保备份您的文件,以免出现意外情况。