联系我们

微信扫描上方二维码

迅睿框架 版主:迅睿框架研发组
采集时有没有办法直接把文章的ID一起采集过来发布?
类型:迅睿CMS 更新时间:2021-12-12 12:06:26

采集文章如何定义文章ID

想从其他程序迁移到迅睿,用采集的方式把新闻都采集到迅睿。

旧版网站的新闻链接是通过文章ID来生成的,比如新闻文章ID是80,旧网站链接就是网址/news/80.html


我想保持新旧版链接一直,所以采集时有没有办法直接把文章的ID一起采集过来发布?

回帖
  • 迅睿框架联合创始人
    #1楼    迅睿框架联合创始人
    2021-12-07 09:37:38
    Chrome 0
    可以,采集入库示例文档里面,有一个save_content函数第一个参数是0表新增随机id,如果设置固定id就表示固定id号了,固定模式需要清空数据库在采集入库
  •   星 空
    #2楼    星 空
    2021-12-07 09:39:03
    Chrome 0
    迅睿框架联合创始人  我现在程序是刚新建的,不需要清库吧,里面还没有文章。
  •   星 空
    #3楼    星 空
    2021-12-08 06:50:59
    Chrome 0
    迅睿框架联合创始人  请问这个具体要怎么改入坑程序呢?另外我在火车头里无法使用名为id的标签,提示非法标签,请问具体怎么处理呢?麻烦了。
  • 迅睿框架联合创始人
    #4楼    迅睿框架联合创始人
    2021-12-08 10:21:39
    Chrome 0
    参考下语法
    // 主索引
    $id = $data[1]['id'];
    \Phpcmf\Service::M()->table(SITE_ID.'_share_index')->replace(
        [
            'id' => $id,
            'mid' => $mid
        ]
    );
    // 模块索引
    \Phpcmf\Service::M()->table(SITE_ID.'_'.$mid.'_index')->replace(
        [
            'id' => $id,
            'uid' => (int)$data[1]['uid'],
            'catid' => (int)$data[1]['catid'],
            'status' => (int)$data[1]['status'],
            'inputtime' => (int)$data[1]['inputtime'],
        ]
    );
    $data[1]['tableid'] = $tid = floor($id / 50000);
    \Phpcmf\Service::M()->is_data_table(SITE_ID.'_'.$mid.'_data_', $tid);
    \Phpcmf\Service::M()->table(SITE_ID.'_'.$mid)->replace($data[1]);
    \Phpcmf\Service::M()->table(SITE_ID.'_'.$mid.'_data_'.$tid)->replace($data[0]);
    满意答案
  •   星 空
    #5楼    星 空
    2021-12-12 12:06:26
    Chrome 0
    @迅睿框架联合创始人:感谢,已经解决。