public function sitemap(){
$content = "";
$lines = "";
if(compareValues($this->settings->seo_sitemap_output, "cities") || compareValues($this->settings->seo_sitemap_output, "ads_categories") || compareValues($this->settings->seo_sitemap_output, "ads")){
$ads = $this->model->ads_data->sort("id desc limit 10000")->getAll("status=?", [1]);
if($ads){
foreach ($ads as $value) {
if(compareValues($this->settings->seo_sitemap_output, "cities")){
$city = $this->model->geo_cities->cacheKey(["id"=>$value["city_id"]])->find("id=?", [$value["city_id"]]);
if($city){
$lines .= '
'.outLink($city->alias).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
}
if(compareValues($this->settings->seo_sitemap_output, "ads_categories")){
$lines .= '
'.$this->component->ads_categories->buildAliases(["id"=>$value["category_id"]]).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
if(compareValues($this->settings->seo_sitemap_output, "ads")){
$value = $this->component->ads->getDataByValue($value);
$lines .= '
'.$this->component->ads->buildAliasesAdCard($value).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
}
}
}
if(compareValues($this->settings->seo_sitemap_output, "link_filters")){
$filtersLinks = $this->model->ads_filters_links->sort("id desc")->getAll();
if($filtersLinks){
foreach ($filtersLinks as $value) {
$lines .= '
'.$this->component->ads_filters->buildAliasesLink($value).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
}
}
if(compareValues($this->settings->seo_sitemap_output, "blog_posts") || compareValues($this->settings->seo_sitemap_output, "blog_categories")){
$posts = $this->model->blog_posts->sort("id desc")->getAll("status=?", [1]);
if($posts){
foreach ($posts as $value) {
if(compareValues($this->settings->seo_sitemap_output, "blog_posts")){
$lines .= '
'.$this->component->blog->buildAliasesPostCard($value).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
if(compareValues($this->settings->seo_sitemap_output, "blog_categories")){
$lines .= '
'.$this->component->blog_categories->buildAliases(["id"=>$value["category_id"]]).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
}
}
}
if(compareValues($this->settings->seo_sitemap_output, "pages")){
$pages = $this->model->template_pages->getAll("freeze=? and alias is not null", [0]);
if($pages){
foreach ($pages as $value) {
$lines .= '
'.outLink($value["alias"]).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
}
}
if(compareValues($this->settings->seo_sitemap_output, "shops")){
$shops = $this->model->shops->getAll("status=?", [1]);
if($shops){
foreach ($shops as $value) {
$lines .= '
'.$this->component->shop->linkToShopCard($value["alias"]).'
'.$this->datetime->format("Y-m-d")->getDate().'
0.8
';
}
}
}
$content = '
'.$lines.'
';
_file_put_contents(BASE_PATH . "/sitemap.xml", $content);
}