model = new SitemapModel(); cookie('city',''); //防止生成的链接叠加当前城市 } public function index() { header("Content-type:text/xml;charset=utf-8"); $str = '' . "\n"; //$str .= '' . "\n"; $str .= '' . "\n" ; $str .= $this->makeNode('', date('Y-m-d'), '1.00', 'always'); // 根目录 $sorts = $this->model->getSorts(); $Parser = new ParserController(); $wildcard = $this->config('wildcard'); //泛域名支持状态 $city_suffix = $this->config('city_suffix'); //城市后缀 $city_suffix = $city_suffix ? '.html' : '/'; $model = model('admin.system.City'); $city = $model->getAllList(); $domain = get_http_host(); //当前域名 $cur_city = array_filter($city, function($t) use ($domain) { return $t['isurl'] == $domain; }); //当前城市绑定了域名 if( $wildcard || !empty($cur_city) ){ //开启泛域名 //var_dump("fdfdf");die; foreach ($sorts as $value) { if ($value->outlink) { continue; } elseif ($value->type == 1) { $link = $Parser->parserLink(1, $value->urlname, 'about', $value->scode, $value->filename); $str .= $this->makeNode($link, date('Y-m-d'), '0.80', 'daily'); } else { $link = $Parser->parserLink(2, $value->urlname, 'list', $value->scode, $value->filename); $str .= $this->makeNode($link, date('Y-m-d'), '0.80', 'daily'); $contents = $this->model->getSortContent($value->scode); foreach ($contents as $value2) { if ($value2->outlink) { // 外链 continue; } else { $link = $Parser->parserLink(2, $value2->urlname, 'content', $value2->scode, $value2->sortfilename, $value2->id, $value2->filename); //echo $link;die; //去除.html $link = str_replace(".html", "", $link); } $str .= $this->makeNode($link, date('Y-m-d', strtotime($value2->date)), '0.60', 'daily'); } } } }else{ //var_dump("fdfdf");die; cookie('city',''); //防止生成的链接叠加当前城市 foreach ($city as $c) { $str .= $this->makeNode( '/'.$c['etitle'] . $city_suffix, date('Y-m-d'), '1.00', 'always'); // 根目录 } if( $this->config('open_citymap') ){ array_unshift($city,['etitle'=>'','isurl'=>'']); // 添加主站 }else{ $city = ['etitle'=>'','isurl'=>'']; } foreach( $city as $item ){ if( $item['isurl'] !=='' ){ continue; } $url = $item['etitle'] ? '/'.$item['etitle'] : ''; //首页,上面生成过了,这里不再生成 // if( $url!=='' ){ // $str .= $this->makeNode( $url . $city_suffix, date('Y-m-d'), '1.00', 'always'); // 根目录 // } foreach ($sorts as $value) { if ($value->outlink) { continue; } elseif ($value->type == 1) { $link = $Parser->parserLink(1, $value->urlname, 'about', $value->scode, $value->filename); $str .= $this->makeNode( $url . $link, date('Y-m-d'), '0.80', 'daily'); } else { $link = $Parser->parserLink(2, $value->urlname, 'list', $value->scode, $value->filename); $str .= $this->makeNode( $url . $link, date('Y-m-d'), '0.80', 'daily'); $contents = $this->model->getSortContent($value->scode); foreach ($contents as $value2) { if ($value2->outlink) { // 外链 continue; } else { $link = $Parser->parserLink(2, $value2->urlname, 'content', $value2->scode, $value2->sortfilename, $value2->id, $value2->filename); //echo $link;die; //去除.html $link = str_replace(".html", "", $link); } $str .= $this->makeNode( $url . $link, date('Y-m-d', strtotime($value2->date)), '0.60', 'daily'); } } } } } echo $str . "\n"; } // 生成结点信息 private function makeNode($link, $date, $priority = 0.60, $changefreq = 'always') { $node = ' ' . get_http_url() . $link . ' ' . $priority . ' ' . $date . ' ' . $changefreq . ' '; return $node; } // 文本格式 public function linkTxt() { header("Content-type:text/plain;charset=utf-8"); $sorts = $this->model->getSorts(); $Parser = new ParserController(); $str = get_http_url() . "\n"; $wildcard = $this->config('wildcard'); //泛域名支持状态 $city_suffix = $this->config('city_suffix'); //城市后缀 $city_suffix = $city_suffix ? '.html' : '/'; $model = model('admin.system.City'); $city = $model->getAllList(); $domain = get_http_host(); //当前域名 $cur_city = array_filter($city, function($t) use ($domain) { return $t['isurl'] == $domain; }); //当前城市绑定了域名 if( $wildcard || !empty($cur_city) ){ //开启二级域名 //var_dump("55dfd5");die; foreach ($sorts as $value) { if ($value->outlink) { continue; } elseif ($value->type == 1) { $link = $Parser->parserLink(1, $value->urlname, 'about', $value->scode, $value->filename); $str .= get_http_url() . $link . "\n"; } else { $link = $Parser->parserLink(2, $value->urlname, 'list', $value->scode, $value->filename); $str .= get_http_url() . $link . "\n"; $contents = $this->model->getSortContent($value->scode); foreach ($contents as $value2) { if ($value2->outlink) { // 外链 continue; } else { $link = $Parser->parserLink(2, $value2->urlname, 'content', $value2->scode, $value2->sortfilename, $value2->id, $value2->filename); //echo $link;die; //去除.html $link = str_replace(".html", "", $link); } $str .= get_http_url() . $link . "\n"; } } } }else{ cookie('city',''); //防止生成的链接叠加当前城市 foreach ($city as $c) { $str .= get_http_url() .'/'. $c['etitle'] . $city_suffix . "\n"; // 根目录 } if( $this->config('open_citymap') ){ array_unshift($city,['etitle'=>'','isurl'=>'']); // 添加主站 }else{ $city = ['etitle'=>'','isurl'=>'']; } foreach( $city as $item ){ if( $item['isurl'] !=='' ){ continue; } $url = $item['etitle'] ? '/'.$item['etitle'] : ''; //$str .= get_http_url() . $url . $city_suffix . "\n"; foreach ($sorts as $value) { if ($value->outlink) { continue; } elseif ($value->type == 1) { $link = $Parser->parserLink(1, $value->urlname, 'about', $value->scode, $value->filename); $str .= get_http_url() . $url . $link . "\n"; } else { $link = $Parser->parserLink(2, $value->urlname, 'list', $value->scode, $value->filename); $str .= get_http_url() . $url . $link . "\n"; $contents = $this->model->getSortContent($value->scode); foreach ($contents as $value2) { if ($value2->outlink) { // 外链 continue; } else { $link = $Parser->parserLink(2, $value2->urlname, 'content', $value2->scode, $value2->sortfilename, $value2->id, $value2->filename); //echo $link;die; //去除.html $link = str_replace(".html", "", $link); } $str .= get_http_url() . $url . $link . "\n"; } } } } } echo $str; } }