Турбо-страницы Яндекс — RSS с турбо

У Яндекса есть так называемые «Турбо-страницы», которые добавляют информацию с RSS лент сайтов в Новости или Дзен. RSS вывод должен быть такого вида:
Пример RSS-канала
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
           <turbo:content>
                <![CDATA[
                    <header>
                        <figure>
                            <img src="http://example.com/img.jpg" />
                        </figure>
                        <h1>Заголовок страницы</h1>
                    </header>
                    <h2>Заголовок страницы</h2>
                    <p>Текст с <b>выделением</b> и списком:</p>
                    <ul>
                        <li>пункт 1;</li>
                        <li>пункт 2.</li>
                    </ul>
                    <figure>
                        <img src="http://example.com/img-for-video.jpg" />
                        <figcaption>Подпись к картинке</figcaption>
                    </figure>
                    <iframe
                         width="560"
                         height="315"
                         src=
                          "https://www.youtube.com/embed/<уникальный набор символов>" 
                         frameborder="0" 
                         allowfullscreen
                    </iframe>
                ]]>
           </turbo:content>
        </item>
    </channel>
</rss>


Где можно подкоректировать вывод RSS под стандарт Яндекса?

В файл /common/classes/modules/rss/entity/Rss.entity.class.php нужно добавить к функции несколько строчек (которых у вас нет):
public function __construct() {

        $this->AddRssAttribute('xmlns:atom', 'http://www.w3.org/2005/Atom');
        $this->AddRssAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/');
	$this->AddRssAttribute('xmlns:content', 'http://purl.org/rss/1.0/modules/content/');
	$this->AddRssAttribute('xmlns:slash', 'http://purl.org/rss/1.0/modules/slash/');
	$this->AddRssAttribute('xmlns:wfw', 'http://wellformedweb.org/CommentAPI/');
	$this->AddRssAttribute('xmlns:sy', 'http://purl.org/rss/1.0/modules/syndication/');
	$this->AddRssAttribute('xmlns:georss', 'http://www.georss.org/georss');
	$this->AddRssAttribute('xmlns:turbo', 'http://turbo.yandex.ru');
    }


Результат шапки rss будет таким:
Выводит так
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:georss="http://www.georss.org/georss" xmlns:turbo="http://turbo.yandex.ru" version="2.0">

В файле common/templates/skin/название шаблона/tpls/action/rss/action.rss.index.tpl (или какой у вашего шаблона)нужно сделать так:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" {$oRss->getRssAttributesStr()}>
    {foreach $oRss->getChannels() as $oRssChannel}
    <channel>
        <title>{$oRssChannel->getTitle()}</title>
        <link>{$oRssChannel->getLink()}</link>
        <description><![CDATA[{$oRssChannel->getDescription()}]]></description>
        <language>{$oRssChannel->getLanguage()}</language>
        <managingEditor>{$oRssChannel->getManagingEditor()}</managingEditor>
        <webMaster>{$oRssChannel->getWebMaster()}</webMaster>
        <generator>{$oRssChannel->getGenerator()}</generator>
        {foreach $oRssChannel->getItems() as $oRssItem}
            <item turbo="true">
			    <title>{$oRssItem->getTitle()|escape:'html'}</title>
                <guid isPermaLink="true">{$oRssItem->getGuid()}</guid>
				<link>{$oRssItem->getLink()}</link>
				<turbo:content>
                <author>{$oRssItem->getAuthor()}</author>
                <description><![CDATA[{$oRssItem->getDescription()}]]></description>
                <pubDate>{$oRssItem->getPubDate()}</pubDate>
                {foreach $oRssItem->getCategories() as $sCategory}
                    <category>{$sCategory}</category>
                {/foreach}
            </turbo:content>
			</item>
        {/foreach}
    </channel>
    {/foreach}
</rss>


После этого добавляем в яедекс https://сайт.ru/rss и получаем зеленый свет окончания проверки «Без ошибок».

Спасибо DonDenchik за помощь!

Прошу подсказать по созданию сайта

Добрый день всем, интересует вопрос, с помощью данного движка можно будет создать некий аналог по функционалу как otzovik.com? Пусть даже если модулями, хаками как платными так и бесплатными

https и установка движка на cloudflare Ошибка #1002

Всем Доброе утро!
Решил поставить движок на хостинге совместно с cloudflare.Установка прошла успешно,но вылетает ошибка #1002. При установке на 'http', движок работает стабильно. Перелопатил все блоги решение не нашел. Пробовал также и наоборот, ставить движок на 'http' и потом уже все подстраивать под клудфларе. Вылетает ошибка (Exception: syntax error, unexpected 'defined' (T_STRING) ), перепроверял настройки конфига вроде бы все верно.
.httaccess в корне каталога присутствует.

В общем ссылка на сайт: #$%&@!???$#&...
Заранее благодарю!

JS блокирует стили для ссылок

Доброго времени суток,

Во время работы с движком обнаруджил что стили к ссылкам не начинают работать. Переделываю на основе Experience v.1.0.3, и ссылки сохраняют общий для темы вид, просто красные при наведении. JS внутри куча просто, скорей всего проблема в них. Кто-нибудь сталкивался с подобным?

Баги с движком: список Вадиму

Друзья, предлагаю не распыляться топиками, а писать сюда все выявленные и имеющиеся баги по движку.
Начал заниматься правкой шаблона, стало выявляться Нное количество ошибок в движке, его скриптах.

Баг: В шаблоне start-kit на странице активности пользователя не подгружаются события #849

Например, на странице активности админа /profile/admin/stream/ не подгружаются события, при нажатии на кнопку показать еще в консоли браузера ошибка
Uncaught TypeError: ls.stream.getMoreByUser is not a function
    at <anonymous>:1:11


Пути решения: дождаться внесения изменений Вадима, или сделать следующее:

Добавить из скрипта шаблона /experience-simple/assets/js/theme.js строки с 302 по 334 значение

   ls.userstream = ( function ($) {
        this.isBusy = false;
        this.dateLast = null;

        this.getMoreByUser = function (iUserId) {
            if (this.isBusy) {
                return;
            }
            var lastId = $('#stream_last_id').val();
            if (!lastId) return;
            $('#stream_get_more').addClass('loading');
            this.isBusy = true;

            var url = aRouter['stream'] + 'get_more_user/';
            var params = {'iLastId': lastId, iUserId: iUserId, 'sDateLast': this.dateLast};

            ls.hook.marker('getMoreByUserBefore');
            ls.ajax(url, params, function (data) {
                if (!data.bStateError && data.events_count) {
                    $('#stream-list').append(data.result);
                    $('#stream_last_id').attr('value', data.iStreamLastId);
                }
                if (!data.events_count) {
                    $('#stream_get_more').hide();
                }
                $('#stream_get_more').removeClass('loading');
                ls.hook.run('ls_stream_get_more_by_user_after', [lastId, iUserId, data]);
                this.isBusy = false;
            }.bind(this));
        };

        return this;
    }).call(ls.stream || {}, jQuery);


в start-kit\assets\js\template.js

и изменить в \tpls\actions\profile\action.profile.stream.tpl в строке 13
javascript:ls.stream.getMoreByUser({$oUserProfile->getId()})

на
javascript:ls.userstream.getMoreByUser({$oUserProfile->getId()})

Новый функционал

Нашел в комментариях разговор(2014 года) про расширение, написали прям в точку чего не хватает:

Слишком размытый вопрос, чтоб на него можно было конкретно ответить. Возможности админа нужно расширять не для того, чтоб их было больше, а для того, чтоб они несли новый полезный функционал. Поэтому лучше будет, если Вы сформулируете, чего Вам не хватает

Сейчас админ почти ничего не может.

1. Иметь возможность произвольно редактировать рейтинг статей, юзеров.
2. Задавать дату своего последнего захода, режим инвизибл.
3. Видеть кто как голосовал только для админа/модера
4. Изменять дату публикации статьи / задавать дату для публикации на определенное время
5. На какой странице находится в данный момент юзер/кто просматривает данную статью для модера/админа
6. Закреплять любой пост первым на главной / отключать рейтинг поста

Аватар Блога — проблема с загрузкой

Ситуация такая — создаю новый блог, жму загрузить изображение(аватар блога), загружается. Создаю блог, но аватарки нету. Жму редактировать блог, аватарки нету. Загружаю заново аватарку и далее все хорошо.
Т.е. аватарка сохраняется только через редактирование блога.

п.с. lexuspro обещал тикет на гите создать.

Автопревью из фотосета и youtube

Стоит плагин Topic-intro, проблемы:
1- указываю в топике ссылку на видео с ютуба, качество превью оч. низкого качества.
2- в топике загружаю картинки в фотосет, но автоматически превью из них не создается.

По первому пункту LexusPro отписывался Авадиму

Версия Alto последняя и гитхаба(15 февраля устанавливал)

Как реализовать интересный логотип сайта на основе fontawesome и animate.css

Народ, есть сайт на altocms, правда там его автор много чего передел и заточил под себя. Мне понравилась реализация вращающего сердца из иконки fontawesome и я попытался реализовать на своем сайте. Ни хрена не получается. С автором общался в онлайне насчет этого.... ну или я слишком тупой или он не желает просто так помогать казалось бы в трех строчках кода. Вот его ответ на мои вопросы:
Я сделал так: 
1. Подключил библиотеку: 
<link type="text/css" rel="stylesheet" href="/путь к файлу/animate.min.css" /> 
2. Прописал код: 
<a class="site-header-title" href="http://liverp.loc/">Живи <i class="fas fa-heartbeat"></i> RolePlay</a> 
3. В скрипте прописал каждые 5 секунд вращать: 
jQuery(document).ready(function() { 
setInterval(function() { 
$('.site-header-title i').animateCss('flip', function() { 
// Do somthing after animation 
}); 
}, 5000); 
}); 
Иконка сердца из библиотеки: 
https://fontawesome.com/


Ну я у себя на сайте прописал все и подключал js этот его и отдельным файлом и в шаблоне пробовал — нифига не работает. Выводится сердечко черного цвета и нихрена не вращается...
Кто знает как конкретно реализовать такой логотип или кому интересна эта тема в принципе — прошу комментировать и если есть возможность помочь реализовать это дело.
Да, вот еще ссылка на то что нужно помимо того, что я озвучил https://github.com/daneden/animate.css

Спасибо.