Пятница, 3 Апреля 2009 года, 13:11
Просмотров: 6691 шт.

Hi-Tech → Облако тегов: пути решения


Облако тегов: пути решения

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

Действительно — теггирование контента сайта пользователям является мощным навигационным и каталогизационным инструментом. И в то же время привлекает разработчиков своей с виду простой реализацией.
*****


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

Облако тегов” или “Облако меток” (англ. tag cloud) — визуальное представление списка ярлыков. Частота упоминаний, поисков, ссылок в интернете с определенного сайта неких слов, терминов, имен, отображается в виде изображения этих слов в формате гиперссылок. Размер отображения тем больше, чем выше релевантность данного слова.

Теги для многих удобнее категорий, и, наверное, поэтому без них сейчас не обходится ни один проект в концепциях Web 2.0. Для многих CMS есть модули или плагины, выводящие облако тегов. WordPress, например, поддерживает такую функцию начиная с версии 2.3.

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

Итак:

  • Первым делом необходимо предоставить возможность пользователям указывать эти самые теги при написании своих постов.

  • Можно конечно доверить это дело серверу и вычислять наиболее часто встречающиеся слова из самого текста. Но во-первых необходимо приводить перечень стоп-слов, которые следует пропускать при анализе (Такие как предлоги, наречия и т.п.), а во-вторых любой скрипт врядли способен "выдернуть" из текста 3-4 самых важных тега. Уж лучше указать их лично.

  • Следующий этап - это создание таблицы базы данных, куда мы будем заносить теги. Например такого типа: "Идентификатор записи, к которой принадлежит тег" - "тег"


  • Далее нам необходимо сделать выборку из базы данных. В самом простом случае в запросе делаем выборку name (имя тега) и count(name) (количество повторений) и соответственно группируем по name. Можно также ограничить количество результатов например LIMIT 20

  • Таким образом вы получите 20 тегов и узнаете количество повторений каждого тега. После этого нам необходимо перемешать результат, чтобы облако выглядело красиво, и осталось только вывести посетителю.

    В статье Жилинского Как сделать облако тегов на PHP приведено описание алгоритма и пример реализации формирования облака тегов на php


    Здесь приведён похожий пример реализации фолксономии на сайте.

    Но больше всего мне понравился пример реализации облака тегов в блоге Bolzamo: Облако тегов с относительными размерами - всего 3 строки кода. Демо работы этой функции можно глянуть тут

    Это лишь малая часть того, что можно найти в интернете по фразе "php облако тегов". Что больше подойдёт в вашем конкретном случае - решать вам. Но известно точно, что наличие облака тегов на сайте в большинстве случаев значительно упрощает навигацию и является ещё одним шагом вперёд на пути продвижения вашего сайта к стандартам этого всеми любимого "web 2.0".

    Добавлено позже:
    Кстати, вдогонку, рекомендую почитать статью Кевина Хоффмана "В поисках... идеального облака тегов"

    В этом документе описаны несколько алгоритмов посторения облака. А также рассмотрены все плюсы и минусы того или иного алгоритма. Линейный алгоритм позволяет выводить нечто действительно похожее на облако тегов (смущает лишь присутствие не совсем актуальных тегов в этом облаке). Логарифмический же алгоритм построения нивелирует этот недостаток, и по мнению авторов блога "Codespot — записки с урановых рудников", позволяет наиболее точно отобразить ситуацию с контентом на сайте.

    Эта запись отмечена тегами: phpweb 2.0tag cloudоблако теговтег

    lifecity
    Блог им. lifecity
    Рейтинг записи
      +3  

    ←Туда  Сюда→

    Комментарии:

    • ShaDeRzzShaDeRzz  3 Апреля#  
      Первый пост
    • emotionemotion  3 Апреля#  
      А точно это первый пост?
    • viskasviskas  3 Апреля#  
      Присоединяюсь к вопросу
    •   3 Апреля#  
      Только и можешь что присоединяться!
    • emotionemotion  3 Апреля#  
      Второй пост
    • viskasviskas  3 Апреля#  
      Третий пост тоже ничего так
    • adamanovadamanov  3 Апреля#  
      Народ, о чём спор? Третий пост неплох!
    •   3 Апреля#  
      Вполне приличная статья. Вмемориз!
    • emotionemotion  6 Апреля#  
      Кстати! А как насчёт попить пивка сегодня вечером?

      Добавлено позже:
      гм...
    • lifecitylifecity  6 Апреля#  
      Вот-вот!
    • Maxim_EmotionMaxim_Emotion  6 Апреля#  
      Пост очень позновательный. Автор, продолжай тему! Хочется почитать про Тучу Спама

      Добавлено позже:
      да
    • interiorstudiointeriorstudio  6 Апреля#  
      Наиболее интересные ресурсы, попашиеся мне на глаза (1, 2, 3, 4), можно почитать для общего развития.
      Как правило, большинство предлагаемых идей требуют существенных изменений имеющихся баз данных и логики работы приложения.

    Авторизуйтесь или зарегистрируйтесь, чтобы иметь возможность комментировать записи!
    

    Категории

    Товары и Услуги  Авто  Отдых  Здоровье  Hi-Tech  Стройка  Fashion  Разное  Домашний очаг  Бизнес  Общество  Кухня  Образование  Флора и фауна  Музыка и кино  Спорт  Туризм  Хобби  География  Позитив  Наука и Техника  Карьера  Теория жизни  История  Знаменитости  Творчество  Отношения  Фольклор  Религия  Право  Астрономия  Мистика 


    Облако тегов



    TOP Блоггеры

    profitinvestingprofitinvesting
    Записей: 3786

    webweb
    Записей: 741

    begtopmerbegtopmer
    Записей: 687

    sorokasoroka
    Записей: 611

    ShaDeRzzShaDeRzz
    Записей: 242

    little_fairylittle_fairy
    Записей: 164

    nomeNNescionomeNNescio
    Записей: 153

    savchenkosavchenko
    Записей: 98

    BeautyPROFBeautyPROF
    Записей: 94

    Jetos2Jetos2
    Записей: 78

    DiezelSun2DiezelSun2
    Записей: 73

    KisaMurMurKisaMurMur
    Записей: 70

    Весь список

    Последние комменты

    • pepkoakrapovik написал(а):
      Реванш Усика і Ф’юрі — це подія, яку я точно не пропущу. У першому бою я підтримував Ф’юрі, але післ...
    • comp-service написал(а):
      хороший сервис, профессиональные мастера, все делают быстро и недорого
    • Serrt написал(а):
      Я бы керамику выбрал. Потому что с пленкой очень много заморочек. Да и желтеет она со временем. А с ...
    • Volk написал(а):
      Вот именно для этого керамика и нужна. Она отлично сохраняет блеск и цвет автомобиля. И от сколов и...
    • Argon написал(а):
      Я не сделал и уже пожалел. Машине еще двух лет нет, а она совсем вид потеряла. Блеск у кузова пропал...

    Сделай правильный выбор!