联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
让火车头发布到数据库文章后,自动生成文章的静态页
类型:迅睿CMS 更新时间:2020-10-14 17:30:39

这个代码是怎么弄?才能让火车头发布到数据库文章后自动生成文章的静态页?


上次帖子地址:https://www.xunruicms.com/wenda/22707.html


下边的代码上次作者告诉我的。应该是在index.php里开启开发者模式。然后把代码放到哪里???文章id怎么获取。大家不要见笑,会的话指点下。


《《当然下个版本要是能更新到,检测到栏目seo里开启了静态,并且正常发布文章后自动生成,就不需要这么麻烦了。》》


--------------------------------------------

首先把程序更新到开发版

dr_html_auth(1);
file_get_file(SITE_ID.'index.php?s=news&c=html&m=showfile&id=99999999');

999999改成要生成文章的id号

--------------------------------------------

以下火车头采集接口的代码


<?php



$this->_module_init('news'); // news 是模块目录


if ($_GET['action'] == 'category') {

    // 显示栏目


    foreach ($this->module['category'] as $t) {

        if ($t['child'] == 0 && $t['tid'] == 1) {

            echo '<h1>'.$t['name'].'<=>'.$t['id'].'</h1>'.PHP_EOL;

        }

    }


} else {

    // 入库数据


    $data = $_REQUEST;


    // 发布者id 1

    $data['uid'] = 1;


    // 发布者账号 admin

    $data['author'] = 'admin';


    // 主表字段

    $fields[1] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR));

    $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data'));

    $cache && $fields[1] = array_merge($fields[1], $cache);


    // 附表字段

    $fields[0] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_data_0'));

    $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data_0'));

    $cache && $fields[0] = array_merge($fields[0], $cache);


    // 去重复

    $fields[0] = array_unique($fields[0]);

    $fields[1] = array_unique($fields[1]);


    $save = [];


    // 主表附表归类

    foreach ($fields as $ismain => $field) {

        foreach ($field as $name) {

            isset($data[$name]) && $save[$ismain][$name] = $data[$name];

        }

    }

        if (!$data['catid']) {

            exit('栏目为空');

        }


    $save[1]['uid'] = $save[0]['uid'] = $data['uid'];

    $save[1]['catid'] = $save[0]['catid'] = $data['catid'];

    // 提取内容中第一张图作为缩略图

    $imgs = dr_get_content_img($save[0]['content']);

    $save[1]['thumb'] = (string)$imgs[0];

    $save[1]['url'] = '';

    $save[1]['status'] = 9; //9表示正常发布,1表示审核里面

    $save[1]['hits'] = 0;

    $save[1]['displayorder'] = 0;

    $save[1]['link_id'] = 0;

    $save[1]['comments'] = 0;

    $save[1]['avgsort'] = 0;

    $save[1]['inputtime'] = $save[1]['updatetime'] = SYS_TIME + rand(0, 7200);

    $save[1]['inputip'] = '127.0.0.1';


    // 验证标题重复

    if ($this->content_model->table(SITE_ID.'_'.MOD_DIR)->where('title', $save[1]['title'])->counts()) {

        echo '重复';exit;

    }



    $rt = $this->content_model->save(0, $save);


    if ($rt['code']) {

        exit('成功');

    } else {

        exit('失败');

    }


}


exit;


回帖
  • #1楼    迅睿框架创始人
    2020-10-14 17:23:45
    Chrome 0
     if ($rt['code']) {
        // 这里的 $rt['code'] 就是新增文章的id号
            exit('成功');
        } else {
            exit('失败');
        }


  • 老铁666
    #2楼    老铁666
    2020-10-14 17:27:03
    Chrome 0
    回复迅睿框架创始人
    dr_html_auth(1);
    file_get_file(SITE_ID.'index.php?s=news&c=html&m=showfile&id=99999999');
    那就应该是把这个代码放到采集接口的代码里吧

    if ($rt['code']) {

    //增加

    dr_html_auth(1);
    file_get_file(SITE_ID.“index.php?s=news&c=html&m=showfile&id=$rt['code'])”);

    //增加

    exit('成功');

    } else {

    exit('失败');

  • #3楼    迅睿框架创始人
    2020-10-14 17:29:27
    Chrome 0
     if ($rt['code']) {
        // 这里的 $rt['code'] 就是新增文章的id号
            dr_html_auth(1);
            file_get_contents(SITE_ID."index.php?s=news&c=html&m=showfile&id=".$rt['code']);
            exit('成功');
        } else {
            exit('失败');
        }
    你语法写错了
    满意答案
  • 老铁666
    #4楼    老铁666
    2020-10-14 17:30:39
    Chrome 0
    迅睿框架创始人:好的。多谢。