Подписка на теги по RSS в Эгее

Или выводим ссылку на подписку по тому или иному тегу

Изучал исходный код движка и наткнулся на вывод таких строк:

Подписка на теги по RSS в Эгее
RSS-поток по всему сайту и RSS-поток по конкретному тегу

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

Я решил, что это светлая мысль и реализовал для себя такое решение, которое позволяет вывести активную ссылку и подписаться на RSS-поток по тому или иному тегу.

Подписка на теги по RSS в Эгее Подписка на теги по RSS в Эгее
Активная ссылка на подписку внутри каждого тега.

Правка файлов шаблона plain

Стоковый шаблон plain — /system/theme/templates/heading.tmpl.php

Открываем файл heading.tmpl.php в текстовом редакторе и ищем строку:

<h2><?= $content['heading'] ?></h2>

после добавляем следующий блок с кодом:

Вариант 1

Более корректный, но сильнее нагружает web-сервер

<?php if ($content['class'] == 'tag') { ?>
<!-- Моя доработка СТАРТ -->
			<div style="text-align: center;">
			<?php if(array_key_exists ('tags', $content)) {
				foreach ($content['tags']['each'] as $tag) {
	                if ($tag['tag'] == $content['heading']) {
	                	echo '<a href="'.$tag['href'].'rss/" rel="nofollow">Подписаться на тег &laquo;'. $tag['tag'] .'&raquo;</a>';
                	}
                }
			 } ?>
			 </div>
<!-- Моя доработка СТОП --> 
<?php } ?>

Если необходимо выровнять строку по левой стороне, замени text-align: center; на text-align: left; или вовсе удали атрибут style из элемента div.

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

Вариант 2

Более тривиальный, но практически не нагружает web-сервер

<?php if ($content['class'] == 'tag') { ?>
<!-- Моя доработка СТАРТ -->
			<div style="text-align: center;">
			<?php $rss_url = preg_replace('/\?(.*)/', '', 'https://okatiev.ru' . $_SERVER["REQUEST_URI"] . 'rss/'); ?>
			<a href="<?php echo $rss_url; ?>" rel="nofollow">Подписаться на тег &laquo;<?php echo $content['heading']; ?>&raquo;</a>
			</div>
<!-- Моя доработка СТОП --> 
<?php } ?>

Замени https://okatiev.ru на адрес своего сайта. Также, если тебе необходимо выровнять строку по левой стороне, замени text-align: center; на text-align: left; или совсем удали атрибут style из элемента div.

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

Вывод

Подписка на теги по RSS в Эгее

В качестве вывода могу сказать, что теперь внутри каждого тега у нас появилась href-ссылка на RSS-фид именно по этому тегу, которая даёт возможность читателю быть в курсе именно той темы, которую ты отмечаешь тем или иным тегом и, тем самым, миновать другие информационные потоки, которые его мало интересуют.

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

Плюсануть
Поделиться
Отправить
Запинить
Понравился этот пост? Поделись им в соцсети!
Популярное
Ваш комментарий
адрес не будет опубликован
HTML-код не интерпретируется

Ctrl + Enter