Казалось бы, стандартная задача: вывести блок новостей с одного сайта на другой. А, как оказалось, толкового инструментария и нет. Приходится извращаться. План:
- модернизация rss-ленты.
- вывод на экран на другом сайте
- разборки с кешированием и пр.
Поехали… RSS-лента
Сайт-донор на joomla. RSS-лента получается добавлением “?format=feed&type=rss
” к ссылке на категорию. Стандартно, в rss ленту попадает автор, дата, заголовок (title) и описание (intro_text[?] + full_text[?] – в зависимости от наличия и настроек). Симпатичное описание – Как сделать RSS ленту на сайте Joomla. А мне нужна “вступительная картинка”, Intro_image. Найти толкового модуля/расширения у меня не получилось – всё, что сколько-нибудь приличное, сразу платное. Долго мучался, пока не наткнулся вот на такое сообщение – change request for Joomla 3: show intro image in RSS feed. Оставлю себе суть:
Поскольку картинка человеком засовывается не в “правильное” место, а в description статьи, то неудивительно, что это не вошло в официальный релиз joomla . Я сам категорически против изменения кода, но, вот… Стыдно. 🙂
Разница:
- Исправлен код под мою версию joomla 🙂
- размеры картинки выставлены в явном виде. Так мне надо на целевой сайте
- В описании (description) нет ничего, кроме картинки. Последняя строка закомментирована.
Пусть будет здесь, описание работы со “вступительной” картинкой – How to Get Article’s Intro Image in Joomla using PHP
Вывод на экран на другом сайте
Переходим ко второй части. В качестве материала к размышлению я взял статью “Как вывести RSS другого сайта в вашем блоге“. Мне нужно выводить немного по-другому:
Ну и кеширование
Чтобы на целевом сайте показывались новые статьи неплохо бы поменять интервал кеширования. Он по умолчанию 12 часов.
fetch_feed
caches results for 12 hours by default. You can modify this by modifying the time interval via the filter wp_feed_cache_transient_lifetime. Можно сделать hook, а можно поправить – wp_feed_cache_transient_lifetime is located in wp-includes/class-feed.php. Переменная $lifetime.
В качестве благодарности за “мелочи”, которые иногда важнее всего, оставлю ссылку на работу с выравниванием графики – “Работа с изображениями – тег img“.
Пока пусть будет так, потом дополню…