Онлайн заработок, создание и монетизация сайтов, веб-разработка, SEO и SMO продвижение, фриланс, партнерки, полезные сервисы вебмастерам, блоггинг.

Главная » Web разработка » CMS » Теги и облако тегов в DLE (основные моменты)

Теги и облако тегов в DLE (основные моменты)

Облако тегов DLEС системой DLE я сталкиваюсь, конечно, меньше чем с wordpress, но тоже бывает. Как правило, это некоторые мелкие правки шаблона, но для поиска решения задачи приходится потрудится. В идеале было бы неплохо ими поделиться в данном блоге, но, увы, порой об этом я просто забываю. Статья про SEO оптимизация DLE с помощью модуля CatFace исключение из этой тенденции.

Но сегодня я решительно настроен рассказать вам о тегах в DLE, в том числе и про создание облака тегов. Пост будет полезен новичкам и тем, кто ищет информацию о системе DLE. Работал я с версией DLE 9.4 и все коды, приведенные ниже, точно работают для нее (за остальные релизы не ручаюсь).

Теги в админке DLE

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

Теги в админке DLE

Также в админке DLE имеется раздел «Управление облаком тегов», где вы найдете перечень всех, добавленных тегов с возможностью их переименования и удаления.

Теги в админке DLE

Модуль называется «tagscloud», я так понимаю идет в сборке CMS по умолчанию.

Вывод тегов для новостей

Зачастую для страниц полного отображения постов и архивов в wordpress теги я вывожу после каждой записи. Это с одной стороны подсказывает пользователям о чем идет речь в статье, с другой — дополнительный вариант навигации по сайту.

В DLE для вывода тегов новости используется {tags}. Он же используется для вывода облака тегов. Находим файл шаблона с полным отображением новости fullstory.tpl, где добавляем:

Теги: {tags}

То же самое можно сделать и на главной + страницах архивов. Для этого редактируем файл shortstory.tpl, где (в моем случае) указывается шаблон вывода анонсов новостей.

Облако тегов в DLE

Для отображения облака тегов в сайдбаре используется тот же {tags}. В коде выглядит вот так:

<div id="block">
<div id="block_top">Облако тегов</div>
<div id="block_ct"><div id="block_c">
  {tags} 
</div></div>
</div>

Но перед его добавлением не забудьте зайти в раздел «Настройки системы» — пункт «Оптимизация запросов к базе данных«, где активировать поддержку облака тегов. Дальше можно обновить кэш в DLE и проверять его отображение на сайте.

У меня лично именно из-за этого была проблема с тегами — просто выводился текст {tags} без облака. Но я встречал и другие глюки, где необходимо было править htaccess файл и т.п. — по этим вопросам погуглите решение в сети.

Если хотите выводить в облаке тегов DLE определенное число ссылок, то можно использовать конструкцию:

{tags limit="45"}

В моем случае это, увы, не получилось, поэтому пришлось найти файл engine/modules/tagscloud.php, где внести некоторые коррективы. Там есть выборка SELECT из базы данных по запросу $db->query. Точнее их в моем шаблоне 2 штуки — одна для облака тегов в сайдбаре, другая для страницы со всеми тегами. Я редактировал такую строку:

$db->query("SELECT SQL_CALC_FOUND_ROWS tag, COUNT(*) AS count FROM " . PREFIX . "_tags GROUP BY tag ORDER BY count DESC LIMIT 0,40");

После перезаписи файла — чистим кэш! Кстати, теоретически, раз уж здесь осуществляется выборка из БД, то можно сортировать не только по спадающей (DESC), а и выводить самые непопулярные теги (ASC) для их лучшей индексации, если это нужно. Тот, кто хорошо разбирается в php может даже реализовать вывод случайных тегов.

Страница тегов DLE

Для страницы всех тегов в шаблоне должен быть файл tagscloud.tpl, если я правильно понял. Кстати, в данном случае настройка limit сработала как и нужно.

<div class="basecont">                                                                                                                               
	<div class="dpad">
		<h2 class="heading">Все ключевые теги:</h2>
		{tags limit="100"}
		<br clear="all" />
	</div>
</div>

Если не выводится нужное количество тегов, можно также править файл engine/modules/tagscloud.php. Кстати, внимательно проверьте файл шаблона tagscloud.tpl на наличие сторонних ссылок — у меня «доброжелатели» размещали там свой спам.

Оформление облака тегов DLE

Тут все, в принципе, реализуется через стили. Вы можете добавить для облака тегов в сайдбаре какой-то DIV со стилем например class=»mytagcloud», после чего пишете в style.css:

.mytagcloud {
    text-align:  center;
}

Размер шрифтов для облака тегов найдете в файле engine.css.

/*---Облако тегов---*/
.clouds_xsmall { font-size: 1em; }
.clouds_small { font-size: 1.1em; }
.clouds_medium { font-size: 1.2em; font-weight: bold; }
.clouds_large { font-size: 1.5em; }
.clouds_xlarge { font-size: 1.7em; }

Напоследок еще можно удалить запятые из облака тегов. Делается это в файле engine/modules/tagscloud.php. Находим строку:

$tpl->result['tags_cloud'] = implode(", ", $tags);

и заменяем ее на:

$tpl->result['tags_cloud'] = implode(" ", $tags);

После этого чистим кэш в DLE и проверяем результат.

Вот, в принципе, и все что я вспомнил про теги и облако тегов в DLE. Вроде бы ничего сложного, но если будут вопросы, пишите в комментариях.

19.07.13

Категории: CMS, Web разработка.

Теги: , , , , ,

17 Comments
  1. Евгений

    Ищу как реализовать как раз вывод случайных тегов на каждой странице, это сложно реализовать ?

  2. Tod

    Евгений, я пытался это реализовать, но у меня не получилось, а так как не было особо времени этим заниматься, то забросил. Теоретически нужно в ходе выборки из базы данных (там где код с query SELECT) реализовать считывание случайных записей. Вроде бы параметр Rand используется или что-то в этом роде.

  3. AnnaSuper

    Как добавить теги без новости?

  4. Tod

    AnnaSuper, не думаю, что это возможно. Да и непонятно зачем создавать теги без новостей. В разделе «Управление облаком тегов» сможете подредактировать те или иные теги или удалить их. Но создания там нет.

  5. bikon

    доброго времени суток у меня такая проблема при форматирование ссылок в облоке тегов создаются не правильные ссылки и влияют на волидацию html кода хотя при нажатии на тег проблем с переходом нет меня волнует валидация кода может подскажете где это поправить и как заранее спасибо !

  6. Tod

    bikon, сначала можно попробовать подправить шаблон отображения облака, если это не помогает, то придется копаться в php исходном коде системы (хотя это не лучший вариант).

  7. bikon

    А если удалить все что связанно с облоком тегов это поможет??

  8. Tod

    bikon, ну если прям так сильно нужна валидация, то можно убрать облако тегов вовсе.

  9. bikon

    спасибо большое за ответы есть еще один вопрос у меня сайт на дле движке такая есть еще проблемма зделанно так тайтл ,h1 ,дискрипшен и кейвордс прописывается автоматом но есть одна проблемка ето h1на страницах погинации токого вдида /2015/02/12/ если мне приходится на них h1 прописывать в ручную и вроде бы все решается но возникает следующия проблема эта страничка открывается еще с других ссылок и получается дубли h1 то есть по 2 h1 на одной странице и как этот вопрос решить я не знаю может вы что подскажете ЗАРАНЕЕ СПАСИБО !!!

  10. Tod

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

  11. bikon

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

  12. Валерий

    Коллеги, кто знает, как вы выводить уникальный текст на странице тега с заголовком h1!?

  13. Tod

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

  14. Валерий

    Tod, если вспомните, пожалуйста отпишитесь здесь. Буду благодарен!

  15. bikon

    Валерий напишите мне в скайп pokras7777 или на почту у меня есть специальный модуль я вам все покажу и раскажу возможна помощь установке если скайпа нет пишите в аску 682232533 или на крайний случай на почту bikon777@yandex.ru ,буду рад помочь пишите ))))

  16. Дмитрий

    как добавить теги в карту сайтов dle?

  17. Tod

    Дмитрий, если честно, давно с этой системой не работал, возможно там что-то изменилось за последние 2-3 года, но судя по моей последней статье о картах сайта для DLE в настройках добавления тегов в sitemap точно не предусмотрено. Если речь идет об HTML версии, то тут есть страница tagscloud.tpl со всеми метками, можно на нее ссылку поставить из карты либо попытаться настроить в шаблоне вывод вместе с тегами. Для XML вероятно нужно поискать какой-то модуль, что поддерживает эту функцию. К сожалению, в DLE не так силен, как в WP)

Добавить комментарий

Ваш e-mail не публикуется. Обязательные поля помечены *
Если вы комментируете впервые, то текст будет отправлен на модерацию.