Forums / National / Russian / Настройка тегов.

Trustmaster
#7805 2009-02-13 04:54
Объясняю, зачем нужно разделение. Базовая часть тэгов (все, кроме собственно облаков) по большей части всех устраивает, и будет дальше развиваться в направлении последовательного улучшения. А вот с облаками есть много вариантов.

В качестве примера берем tags_new. Что в нем здорово:
  • Разноцветные тэги, потому что красиво
  • Случайный порядок, потому что, цитирую "соответствует идее облака тэгов"
  • Рендеринг на стороне сервера, для тех, кто не любит javascript по тем или иным причинам
Что в нем не здорово:
  • Алгоритм интерполяции размеров, точнее его отсутствие. Несколько жестко кодированных констант - это не очень корректно. Их можно вынести в конфиг, тогда будет универсальнее, но администратору придется их редактировать по мере роста базы сайта, что, впрочем, не так уж плохо на самом деле. Потому что если реализовывать интерполяцию, то понадобится минимум на 2 запроса больше и гораздо более сложный код обработки, что при большом количестве тэгов будет хорошо нагружать сервер.
  • Нужно больше вариантов размеров и цветов? Редактируем плагин!

Что не здорово в варианте на jquery.tagcloud:
  • Собственно, jquery.tagcloud, потому что во-первых, это JavaScript, а во-вторых, он отрабатывает не моментально, что создает неприятный визуальный эффект.
Что в нем хорошего:
  • Он умеет делать интерполяцию, сортировку и рассеивание облака на стороне клиента, что несколько облегчает жизнь вашему серверу.
  • Я уже говорил, что то, что реализовано в стандартном плагине - это цветочки. У него довольно много вариантов отображения облака. Скачайте jquery.tagcloud и посмотрите примеры.

Несколько моментов (вроде того же index и нескольких вариантов сортировки, влючая случайный) необходимо реализовать во всех вариантах плагина. Но все же мы видим 2 разных взгляда на рендеринг этих облаков. И это далеко не предел, ведь кто-то может захотеть написать, к примеру, отображение трехмерных облаков на флеше. А кто-то еще что-то эдакое. Каждый раз клонировать весь плагин tags - это приведет к большой неразберихе с версиями.

Неплохой вариант сделать универсальные облака, чтоб и на жабе работал и без нее. Но желающим сделать что-то свое придется эти части отключать (да, многие админы до сих пор не знают, что кнопочка Pause нужна для отключения частей плагина от хуков, чтобы не выполнялся ненужный код).

В общем, вот вам еще пара дней на размышления, господа. И заранее попрошу без лишнего флейма (особенно по поводу Флеша или чего-то в этом роде).
May the Source be with you!