/**
* Стандартный sitemap
*/
public function actionSitemap()
{
ini_set("memory_limit", "512M");
$trees = Tree::find()->where(['site_code' => \Yii::$app->cms->site->code])->orderBy(['level' => SORT_ASC, 'priority' => SORT_ASC])->all();
if ($trees) {
/**
* @var Tree $tree
*/
foreach ($trees as $tree) {
if (!$tree->redirect) {
$result[] = ["loc" => $tree->url, "lastmod" => $this->_lastMod($tree), "priority" => $this->_calculatePriority($tree), "changefreq" => "daily"];
}
}
}
$elements = CmsContentElement::find()->joinWith('cmsTree')->andWhere([Tree::tableName() . '.site_code' => \Yii::$app->cms->site->code])->orderBy(['updated_at' => SORT_DESC, 'priority' => SORT_ASC])->all();
//Добавление элементов в карту
if ($elements) {
/**
* @var CmsContentElement $model
*/
foreach ($elements as $model) {
$result[] = ["loc" => $model->absoluteUrl, "lastmod" => $this->_lastMod($model), "priority" => "0.3", "changefreq" => "daily"];
}
}
\Yii::$app->response->format = Response::FORMAT_XML;
$this->layout = false;
//Генерация sitemap вручную, не используем XmlResponseFormatter
\Yii::$app->response->content = $this->render($this->action->id, ['data' => $result]);
return;
/*return $this->render($this->action->id, [
'data' => $result
]);;*/
}