原插件地址https://www.lecms.cc/?thread-463.htm

需购买上方插件。

刚刚一个朋友跟我聊,想把这个插件改成同时生成sitemap.xml

改良部分

原插件只支持生成静态txt文件,sitemap是动态的且一个,我在原有的txt生成文件的基础上更改了一下代码,原有功能不动的基础上可以同时生成txt和sitemap.xml

找到插件目录下的views_control_after.php文件

搜素:

if($method){

搜索以上代码将此段代码以及后半部分替换成改良代码:

    if($method){    //部分
        $files = glob($txt_dir.'/*.txt');
        $txtfile_count = count($files);

        if($txtfile_count > $maxpage){
            exit('全部生成完毕,无需生成!');
        }else{
            $page cms_content->list_arr(array(), 'id', 1, ($page-1)*$pagenum, $pagenum, $total);
            // var_dump($list_arr);
            // die;
        }
    }else{  //全部
        $txt_filename = $page.'.txt';
        $xml_filename = $page.'.xml';
        $list_arr = $this->cms_content->list_arr(array(), 'id', 1, ($page-1)*$pagenum, $pagenum, $total);
        // var_dump($list_arr);
        //     die;
    }
    $xml1= <<<EOD

    
    
EOD;
    $xml2= <<<EOD

    
EOD;
    
    if(empty($list_arr)){
        exit('全部生成完毕!');
    }
    $urls = '';
    $urlsxmls='';
    foreach ($list_arr as $v){
        $urls .= $this->cms_content->content_url($v) . PHP_EOL;//组装txt
        $dateline=$v["dateline"];//时间
        $datexin = date('Y-m-d', $dateline);
        $urlsxml = $this->cms_content->content_url($v);//url
        $xmlContent = <<<EOD
    
        {urls}
        {shijian}
        daily
        1.0
    

EOD;
            $newString = str_replace('{urls}', $urlsxml, $xmlContent);
            $newString = str_replace('{shijian}', $datexin, $newString);
            $urlsxmls .= $newString;
    }
    
    $txt_filepath = $txt_dir.'/'.$txt_filename;
    $xml_filepath = $txt_dir.'/'.$xml_filename;
    FW($txt_filepath, $urls);
    FW($xml_filepath, $xml1.$urlsxmls.$xml2);

    echo $txt_filename.'创建成功!
耗时:'; echo number_format(microtime(1) - $start_time, 2).'秒!
'; if($page == $maxpage){ exit('全部生成完毕!'); } $jumpurl = "{$cfg['weburl']}index.php?views-sitemaps_txt-mid-{$mid}-method-{$method}-page-".++$page; echo ''; exit(); }


  • liudehua

    3月前

    引用


    2

    厉害了我的老弟


  • 隔壁老卢

    3月前

    引用


    3

    其次需要注意的是
    daily
            1.0
    部分可以自己更改,daily是天级别,1.0好像是权重


  • Mada

    2月前

    引用


    4

    他这个要是能修改成前面已经生成了,后面不会继续生成前面已经生成过的xml、txt 那就更好了,不然几千万数据每次都要重新生产,太麻烦了。


  • 隔壁老卢

    2月前

    引用


    5

    Mada

    他这个要是能修改成前面已经生成了,后面不会继续生成前面已经生成过的xml、txt 那就更好了,不然几千万数据每次都要重新生产,太麻烦了。

    默认是可以前面生成了,后面无需生成。。。。。。。里面有俩选项,不选全部即可。

  • 声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。