Комментарии 12
А какие варианты рассматривались в плане "расширения пула зависимостей и установки новых библиотек"?
Вообще, по моему опыту, самое сложное в построении сайтмапов — это не XML вывести, а выковырять из базы все типы страниц. То есть построить такую виртуальную структуру приложения.
Разве данное решение мешает построить sitemap сложной вложенности? Если у вас есть другое решение давайте рассмотрим...
Ну то есть статья не про то, как построить sitemap, а про то как в Yii добавить виджет?
Честно говоря ожидал решение в видео готового модуля с возможностью конфигурирования, который на основе имеющихся контролеров генерирует карту, дабы каждый раз не лазить во вьюху генерации xml карты при добавление новых экшенов или контролеров. Так что в чём открытие не пойму. Это решение не решает главную проблему, которую описал FanatPHP.
Зачем во вьюхе echo?
Зачем в контроллере renderPartial?
Не знаком с темой, поэтому хочу спросить. Под этим решением способным решить 99% задач, подразумевается использование urlset ? Или вообще все что вы написали?
Статья ради статьи. Берем докуменьацию по Yii, HTML заменям на XML, рендерим 3 тега, статья готова, выдаем за гениальное изобретение. Уровень 9 класса где-то. Ну не серьезно тут такое постить.
Динамический sitemap - это решение для небольшого блога. Попробуйте нарубить карту или yamarket.xml для каталога, в котором несколько десятков [сотен] тысяч товаров и никогда ничего не удаляется. Придется именно "рубить" консольным скриптом по расписанию, да еще и отбросить весь сахар в виде ORM и прочих DI прелестей.
Как думаете, что будет с генератором, если у вас 5000 статей?
Это решение будет работать, когда записей немного. Скажем, несколько тысяч. Но когда записей миллионы, то будет сильно тормозить. В этом случае поможет либо заранее создать файлы с картой сайта, либо класть выборку в кэш.
Всё в лучших традициях как делать не надо.
Нет бы общий интерфейс какой-то придумать, вынести логику в отдельный сервис и т.д.
Да и как помню, есть несколько готовых вариантов для генерации sitemap, которые нужно просто подключить и настроить. В гугле на первых строчках выдачи, нужно только загуглить.
Yii2 динамический sitemap