Зачем нужна вторая rss лента? На этот вопрос нельзя ответить однозначно. У каждого владельца сайта на DataLife Engine могут быть разные причины. В моем же случае, заказ сайта был с такими требованиями: Первая лента – трансляция в Яндекс-Новости, а вторая для социальных сетей.
В админке Движка DLE на странице Настройка системы –> Настройка RSS экспорта новостей в графе Формат экспорта RSS потока можно выбрать три варианта:
- Простой - выводит только текст новости без форматирования
- Полный - выводит весь текст новости с сохранением форматирования и картинок
- Яндекс новости - выводит текст в формате необходимом для интеграции сайта в систему Яндекс новости
Для интеграции в систему Яндекс новости единственный правильный вариант это последний, но в этом случае в ленте отсутствуют изображения, а в соц. сетях без картинки новости смотрятся очень скудно. Поэтому и понадобился второй - Полный rss-поток.
Итак, задача поставлена, как её решить?
1. Заходим на сайт по FTP в папку engine и находим файл rss.php – именно он отвечает за вывод ленты новостей на сайте.
2. Копируем и даем какое-то человеческое имя, например rss2.php. Не оригинально? Ну и что? 🙂
3. Затем изменяем под наши потребности. Для этого открываем в редакторе, я использую Notepad++, и после include ENGINE_DIR . '/data/config.php'; на 27 строке добавляем
$config['rss_mtype'] = 0;
$config['rss_format'] = Формат экспорта;
где вместо Формат экспорта пишем цифру 0 или 1 или 2. Которым соответствуют:
0 - Простой выводит
1 - Полный - выводит
2 - Выводит Яндекс новости
4. Вроде бы всё, да не совсем. Если залить файл в таком виде, то возникает конфликт кеширования. Если закешировало основную ленту, то во второй будет выдавать ошибку. И наоборот, если закешировало вторую, то в первой будет выдавать ошибку. Поэтому ищем на 117 строке $config['allow_cache'] = true; и меняем на
$config['allow_cache'] = false;
5. Теперь всё. Сохраняем и заливам в туже папку engine.
Вторая rss-лента доступна по адресу http://Ваш-сайт.ru/engine/rss2.php. Конечно можно ещё отредактировать файл .htaccess для редиректа на более короткий адрес, соответствующий оригинальной ленте http://Ваш-сайт.ru/rss2.xml. Для этого в .htaccess нужно добавить запись:
RewriteRule ^rss2.xml$ engine/rss2.php [L]
Таким образом, на сайте DLE можно настроить три rss-потока соответствующие настройкам в самом движке:
0 - Простой выводит
1 - Полный - выводит
2 - Выводит Яндекс новости
Подскажите, можно ли отредактировать стандартный файл rss.xml? Мне нужно изменить список рубрик, которые уходят в рсс-поток.
Конечно можно! Но есть более простой способ, в настройках DLE Настройка параметров скрипта -> Настройка RSS экспорта новостей -> Тип экспорта основного RSS потока выбрать Только опубликованные на главной. И для определенной категории запретить вывод новостей на главной.