Всем привет!
Написал генератор карты сайта (посмотрел, как сделал Елисеев и немного переработал) для поисковиков, но не знаю как добавить туда страницы пагинации, код генератора:
class XmlController extends AppController{
public function actionMap()
{
$urls = array();
$categories = Category::find()->asArray()->all();
foreach ($categories as $category => $categoryVal){
$posts = Product::find()->where(['category_id' => $categoryVal['id']])->asArray()->all();
foreach ($posts as $post => $postVal){
$urls[] = '/product/' . $postVal['id'];
}
$urls[] = '/category/' . $categoryVal['id'];
}
$pages = Page::find()->where(['enabled' => 1])->asArray()->all();
foreach ($pages as $page => $pageVal){
$urls[] = '/page/' . $pageVal['alias'];
}
$host = Yii::$app->request->hostInfo;
echo '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL;
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach ($urls as $url){
echo '<url>
<loc>' . $host . $url . '</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>';
}
echo '</urlset>';
Yii::$app->end();
}
}
Делать какой-то while true и через for, типа $i = 0, $i++, а урл - example.com/category/e?page=$i
И еще вопрос - нужно оно вообще поисковикам или нет необходимости делать такую доскональную карту?
Спасибо.