Оформляем теги

Думаю, некоторые из нас уже давно хотели немного приукрасить представление тегов для пользователей (по аналогии бс). Тоесть, чтобы для каждых тегов в определённом интервале размера был свой цвет. И вот, немного изучив код представления тегов для БС сделал такое же украшательство и для любимого всеми нами livestreet. Ниже приведены сами изменения...

Открываем файл /classes/modules/topic/entity/TopicTag.entity.class.php
добавляем

public function getColor() {
return $this->_aData['color'];
}

и

public function setColor($data) {
$this->_aData['color']=$data;
}

в файле /classes/blocks/BlockTags.class.php
сразу после
$oTag->setSize(round($iTagSize)); // результирующий размер шрифта для тега

добавляем

if ($iTagSize>0) {
$icolor='999999';
}
if ($iTagSize>15) {
$icolor='9900cc';
}
if ($iTagSize>20) {
$icolor='000000';
}
$oTag->setColor($icolor);

Где iTagSize>?? — это размер шрифта, а icolor — его цвет.

в шаблон block.tags.tpl должно быть что-то типа такого:

<a href="{$DIR_WEB_ROOT}/tag/{$oTag->getText()|escape:'html'}/" style="color: #{$oTag->getColor()}; font-size: {$oTag->getSize()}px;">{$oTag->getText()|escape:'html'}</a>


В действии можно посмотреть у меня на сайте: uzy.ru

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

Кто захочет — может отблагодарить меня посредством вебмани на один из следующих кошельков:
R270142664521
Z165697494452

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.