最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 原插件地址 https://www.adminhtml.com/plugin/lecms/23989.html

    需购买上方插件。

    刚刚一个朋友跟我聊,想把这个插件改成同时生成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 < $txtfile_count && $page = $txtfile_count;
                $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;
            }
        }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
    <?xml version="1.0" encoding="utf-8"?>
        <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        
    EOD;
        $xml2= <<<EOD
    </urlset>
        
    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
        <url>
            <loc>{urls}</loc>
            <lastmod>{shijian}</lastmod>
            <changefreq>daily</changefreq>
            <priority>1.0</priority>
        </url>
    
    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.'创建成功!<br>耗时:';
        echo number_format(microtime(1) - $start_time, 2).'秒!<br>';
    
        if($page == $maxpage){
            exit('全部生成完毕!');
        }
    
        $jumpurl = "{$cfg['weburl']}index.php?views-sitemaps_txt-mid-{$mid}-method-{$method}-page-".++$page;
        echo '<script>setTimeout(function(){ window.location.href = "'.$jumpurl.'"; }, 500);</script>';
        exit();
    }

     

     


    站长源码网 » LECMS 插件(百度地图 sitemap 插件 pro版本)【扩展增加生成xml】

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元