pbootcms多语言限制sitemap只调用英文en内容

    代码如下:

    <?php
    /**
     * @copyright (C)2016-2099 Hnaoyun Inc.
     * @author XingMeng
     * @email hnxsh@foxmail.com
     * @date 2018年2月14日
     *  Sitemap模型
     */
    namespace app\home\model;
    
    use core\basic\Model;
    
    class SitemapModel extends Model
    {
    
        // 分类栏目列表
        public function getSorts()
        {
            $fields = array(
                'a.id',
                'a.pcode',
                'a.scode',
                'a.name',
                'a.filename',
                'a.outlink',
                'b.type',
                'b.urlname'
            );
            $join = array(
                'ay_model b',
                'a.mcode=b.mcode',
                'LEFT'
            );
            $result = parent::table('ay_content_sort a')->field($fields)
                ->where('a.status=1')
                ->where("a.acode = 'en'") // 只取 en 数据
                ->join($join)
                ->order('CASE WHEN a.pcode = 0 THEN 1 ELSE 2 END, a.pcode, a.sorting, a.id')
                ->select();
            return $result;
        }
    
        // 指定列表内容
        public function getSortContent($scode)
        {
            $fields = array(
                'a.id',
                'a.filename',
                'a.date',
                'c.type',
                'c.urlname',
                'b.scode',
                'b.filename as sortfilename'
            );
            $join = array(
                array(
                    'ay_content_sort b',
                    'a.scode=b.scode',
                    'LEFT'
                ),
                array(
                    'ay_model c',
                    'b.mcode=c.mcode',
                    'LEFT'
                )
            );
    
            $where = array(
                'a.status=1',
                'c.type=2',
                "a.date<'" . date('Y-m-d H:i:s') . "'",
                "a.acode = 'en'" // 只取 en 数据
            );
    
            return parent::table('ay_content a')->field($fields)
                ->where("a.scode='$scode'")
                ->where($where)
                ->join($join)
                ->order('a.id')
                ->select();
        }
    
        // 获取所有数据(首页、栏目页、文章页)并排序
        public function getAllSortedData()
        {
            // 获取栏目页数据
            $sorts = $this->getSorts();
    
            // 模拟首页数据,这里假设首页有特定的 scode 为 'home',需要根据实际情况修改
            $homePage = [
                [
                    'id' => 0,
                    'pcode' => 0,
                    'scode' => 'home',
                    'name' => 'Home Page',
                    'filename' => 'index.html',
                    'outlink' => '',
                    'type' => 0,
                    'urlname' => ''
                ]
            ];
    
            $allData = array_merge($homePage, $sorts);
    
            // 获取文章页数据
            foreach ($sorts as $sort) {
                $content = $this->getSortContent($sort['scode']);
                $allData = array_merge($allData, $content);
            }
    
            return $allData;
        }
    }