68xi

    因为业务需要,需要在目前项目上开发一个百度小程序,百度智能小程序上线了,但是内容每天得推送,不可能一个小程序路径一个推送吧,因为小程序路径和项目路径不一致。

因为项目是用ThinkPHP开发的,在此附上自动输出sitemap.txt代码

   

<?php
namespace app\index\controller;
use think\Request;
use think\Response;
use mip\Mip;
class Index extends Mip
{
    public function index()
    {
        if ($this->domainSettingsInfo && $this->domainSettingsInfo[\'diySiteName\']) {
            $this->assign(\'mipTitle\',$this->domainSettingsInfo[\'diySiteName\']);
        } else {
            $this->assign(\'mipTitle\',$this->mipInfo[\'siteName\'].$this->mipInfo[\'indexTitle\']);
        }
      
        return $this->mipView(\'index/index\');
    }

   function sitemap() {
        $count = model(\'app\article\model\Articles\')->getCount(0);
        $tagsCount = db(\'Tags\')->count();
        $pageNum = ceil($count / 200)+1;
        $tagPageNum = ceil($tagsCount / 200)+1;
        $sitemap = \'<?xml version="1.0" encoding="utf-8"?>\';
        $sitemap .= \'<sitemapindex>\';
        for ($i=1; $i < $pageNum; $i++) {
        $sitemap .= \'<sitemap>\';
            $sitemap .= \'<loc>\' . $this->domain . \'/xml/\' . $i . \'.xml\' . \'</loc>\';
            $sitemap .= \'<lastmod>\' . date("Y-m-d") . \'</lastmod>\';
        $sitemap .= \'</sitemap>\';
        }
        for ($i=1; $i < $tagPageNum; $i++) {
        $sitemap .= \'<sitemap>\';
            $sitemap .= \'<loc>\' . $this->domain . \'/tagXml/\' . $i . \'.xml\' . \'</loc>\';
            $sitemap .= \'<lastmod>\' . date("Y-m-d") . \'</lastmod>\';
        $sitemap .= \'</sitemap>\';
        }
        $sitemap .= \'</sitemapindex>\';
        return Response::create($sitemap)->contentType(\'text/xml\');;
    }
    
    function xml() {
        $page = input(\'param.id\');
        $page = $page ? $page : 1;
        $itemList = model(\'app\article\model\Articles\')->getItemPushList(\'\', $page, 200, \'publish_time\', \'desc\');

        $xml = \'<?xml version="1.0" encoding="utf-8"?>\';
        $xml .= \'<urlset>\';
        if ($page == 1) {
            $xml .= \'<url>\';
            $xml .= \'<loc>\' . $this->domain . \'/\' . \'</loc>\';
            $xml .= \'<lastmod>\' . date("Y-m-d") . \'</lastmod>\';
            $xml .= \'<changefreq>daily</changefreq>\';
            $xml .= \'<priority>1.0</priority>\';
            $xml .= \'</url>\';
            if ($this->itemCategoryList = model(\'app\article\model\Articles\')->getCategory()) {
                foreach($this->itemCategoryList as $k => $v) {
                    $xml .= \'<url>\';
                    $xml .= \'<loc>\' . $v["url"] . \'</loc>\';
                    $xml .= \'<lastmod>\' . date("Y-m-d") . \'</lastmod>\';
                    $xml .= \'<changefreq>daily</changefreq>\';
                    $xml .= \'<priority>0.9</priority>\';
                    $xml .= \'</url>\';
                }
            }
        }
        foreach($itemList as $k => $v) {
            $xml .= \'<url>\';
            $xml .= \'<loc>\' . $v["url"] . \'</loc>\';
            $xml .= \'<lastmod>\' . date("Y-m-d", $v["publish_time"]) . \'</lastmod>\';
            $xml .= \'<changefreq>daily</changefreq>\';
            $xml .= \'<priority>0.6</priority>\';
            $xml .= \'</url>\';
        }
        $xml .= \'</urlset>\';
        return Response::create($xml)->contentType(\'text/xml\');;
    }


    function tagXml() {
        $page = input(\'param.id\');
        $page = $page ? $page : 1;
        $xml = \'<?xml version="1.0" encoding="utf-8"?>\';
        $xml .= \'<urlset>\';
        $tagsList = db($this->tags)->page($page,200)->select();
        if ($tagsList) {
            foreach ($tagsList as $key => $val) {
                if ($val[\'url_name\']) {
                    $tagsList[$key][\'url\'] = $this->domain . \'/\' . $this->mipInfo[\'tagModelUrl\'] .\'/\' . $val[\'url_name\'] . \'/\';
                } else {
                    $tagsList[$key][\'url\'] = $this->domain . \'/\' . $this->mipInfo[\'tagModelUrl\'] .\'/\' . $val[\'id\'] . \'/\';
                }
                $tagsList[$key][\'time\'] = $val[\'add_time\'] ? date("Y-m-d", $val["add_time"]) : date("Y-m-d");
            }
            foreach ($tagsList as $key => $val) {
                $xml .= \'<url>\';
                $xml .= \'<loc>\' . $val["url"] . \'</loc>\';
                $xml .= \'<lastmod>\' . $tagsList[$key][\'time\'] . \'</lastmod>\';
                $xml .= \'<changefreq>daily</changefreq>\';
                $xml .= \'<priority>0.9</priority>\';
                $xml .= \'</url>\';
            }
        }
        $xml .= \'</urlset>\';
        return Response::create($xml)->contentType(\'text/xml\');;
    }
    
     function baiduSitemapPc() {
        $count = model(\'app\article\model\Articles\')->getCount(0);
        $pageNum = ceil($count / 200)+1;
        $sitemap = \'<?xml version="1.0" encoding="utf-8"?>\';
        $sitemap .= \'<sitemapindex>\';
        for ($i=1; $i < $pageNum; $i++) {
        $sitemap .= \'<sitemap>\';
            $sitemap .= \'<loc>\' . $this->domain . \'/pcXml/\' . $i . \'.xml\' . \'</loc>\';
            $sitemap .= \'<lastmod>\' . date("Y-m-d") . \'</lastmod>\';
        $sitemap .= \'</sitemap>\';
        }
        $sitemap .= \'</sitemapindex>\';
        return Response::create($sitemap)->contentType(\'text/xml\');;
    }
    function pcXml() {
        $page = input(\'param.id\');
        $page = $page ? $page : 1;
        $itemList = model(\'app\article\model\Articles\')->getItemPushList(\'\', $page, 200, \'publish_time\', \'desc\');

        $xml = \'<?xml version="1.0" encoding="utf-8"?>\';
        $xml .= \'<urlset>\';
        foreach($itemList as $k => $v) {
            $xml .= \'<url>\';
            $xml .= \'<loc>\' . $v["url"] . \'</loc>\';
            $xml .= \'<lastmod>\' . date("Y-m-d", $v["publish_time"]) . \'</lastmod>\';
            $xml .= \'<changefreq>daily</changefreq>\';
            $xml .= \'<priority>0.6</priority>\';
            $xml .= \'<data>\';
            $xml .= \'<display>\';
            $xml .= \'<title>\' . $v[\'title\'] . \'</title>\';
            $xml .= \'</display>\';
            $xml .= \'</data>\';
            $xml .= \'</url>\';
        }
        $xml .= \'</urlset>\';
        return Response::create($xml)->contentType(\'text/xml\');;
    }
  //百度小程序输出
   function badiuSmart() {
      $page = input(\'param.id\');
        $page = $page ? $page : 1;
        $itemList = model(\'app\article\model\Articles\')->getItemPushList(\'\', $page, 3000, \'publish_time\', \'desc\');
        //添加小程序路径
        $smarturl="pages/articleDetail/articleDetail?uuid=";
        foreach($itemList as $k => $v) {
            $smart .=$smarturl. $v["uuid"]."\r\n";
        }
        return Response::create($smart)->contentType(\'text/html\');;
    }
    
    
}

  

分类:

技术点:

相关文章:

  • 2021-11-08
  • 2021-11-11
  • 2022-02-04
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2021-12-27
  • 2022-12-23
猜你喜欢
  • 2021-12-23
  • 2022-12-23
  • 2021-12-23
  • 2022-01-06
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案