Адекватный rss для страниц блога

Мне потребовалось, чтобы при отображении блогов в head был адекватный показанной странице с указанием ссылки на rss-поток именно просматриваемой страницы. Решение придумывалось быстро, и, вероятно, оно не совсем правильное, но работает.

В файл шаблона header.tpl в секцию head я добавил следующий код:
{if $oTopic}
	<link title="Комментарии к топику {$oTopic->getTitle()|escape:'html'}" type="application/rss+xml" rel="alternate" href="{$DIR_WEB_ROOT}/rss/comments/{$oTopic->getId()}/">
	{elseif $oBlog}
	<link title="{$oBlog->getTitle()}" type="application/rss+xml" rel="alternate" href="{$oBlog->getRssUrl()}">
	{elseif $oUserProfile}
	<link title="Rss-лента пользователя {$oUserProfile->getLogin()}" type="application/rss+xml" rel="alternate" href="{$DIR_WEB_ROOT}/rss/log/{$oUserProfile->getLogin()}/">
	{else}
	<link title="" type="application/rss+xml" rel="alternate" href="{$DIR_WEB_ROOT}/rss/">
	{/if}

А в методы в blog.entity.class.php:
public function getRssUrl() {
		if ($this->getType()=='personal') {
    		return DIR_WEB_ROOT.'/rss/log/'.$this->getUrl().'/';
    	} else {
    		return DIR_WEB_ROOT.'/rss/blog/'.$this->getUrl().'/';
    	}
	}


Мне показалось, что личный блог определяется в исходном коде движка несколько кривовато, но сейчас разбираться нет времени.

Итак, на странице темы добавляется ссылка на rss с комментариями к ней. На странице блога — ссылка на rss всего блога. На остальных — ссылка на общий поток.

Жду комментариев и дополнений. Просьба строго не судить, ибо мозг не варит.

3 комментария

avatar
Это для какой версии ЛС сделано? для 0,3 или 0,2?
avatar
А на SVN сейчас 0.3 или 0.2?
avatar
0.3
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.