Здравствуйте. Формирую карту сайта в админке и для сохранения файла xml в контроллере прописал:
\Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
\Yii::$app->response->headers->add('Content-Type', 'text/xml');
$xml_sitemap = $this->renderPartial('sitemap', array(
'objects' => $objects,
));
$filepath = \Yii::$app->basePath . '/views/sitemap/sitemap.xml';
file_put_contents($filepath ,$xml_sitemap);
Код шаблона sitemap.php:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php foreach($objects as $obj) { ?>
<url>
<loc><?= Yii::$app->params['siteUrl'] . '/' . $obj['url']; ?></loc>
<priority>1</priority>
</url>
<?php } ?>
</urlset>
Подскажите, можно ли обойтись в контроллере без использования file_put_contents() средствами Yii2?