Сctags – это альтернатива широко известного модуля tagedelic. Т.е. модуль формирует блок и/или страницу облака тэгов таксономии с атрибутом (классом) зависящим от частоты употребления данного термина в опубликованных нодах.
В чем преимущество данного модуля перед tagedelic.
Tagedelic – формирует ровно столько блоков (и страниц) сколько определено словарей в вашей системе причем не позволяет смешивать словари, т.е. один словарь – одно облако.
В модуле Cctags мы имеем:
Гибкие настройки и расширенные возможности по темизации вывода облака (отдельные файлы шаблонов для тэгов, названия словаря, страницы облака).
Возможность (через настройки включать несколько словарей (а для словарей с древовидной структурой - кроме этого включать/выключать нужный уровень)) вывода тэгов.
Автоматическая генерация нужного количества блоков и/или страниц.
Помимо этого вы можете сформировать практически одинаковые по содержанию блоки и разместить их в разных регионах для разных страниц сайта.
Концепция модуля Cctags основана на понятии элемента cctags.
Элемент cctags – это совокупность настроек для отображения одного блока и/или страницы терминов.
Вы можете добавить необходимое количество элементов и настроить каждый из них отдельно, причем разные элементы могут содержать один и тот же словарь или словари в любой комбинации.
Отличия модуля от версии для Друпал 6.
Убран не характерный и малоиспользуемый для данного модуля функционал:
1. Построение блока и страницы облака пользователей.
2. Построение блока материалов по связанным терминам.
3. Очистка словарей от не используемых терминов.
Проведена работа по совместимости кода модуля с версией PHP >= 5.3
Сам модуль можно пока взять тут (см. прикрепленный файл), чуть позже дев версия появится на д.о.
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
жаль, удобная была штука
спасибо за модуль.
Ну может в дальнейшем и включу, или сделаю отдельным суб-модулем ...
Просто есть нюанс, теперь (в смысле в 7-ке) словарь может быть подключен к любой (как бы это сказать) сущности - не обязательно к ноде, что влечет за собой риски "убить" термин не входящий (и не использованный) в нодах но нужный для функционирования. В шестерке такая-же ситуация кстати была например с форумами (по сути разделы/подразделы являлись терминами таксономии) или меню на основании таксономии ...
в целом понятно.
Ну да, вероятно целый субмодуль нужно делать, где прописывать все возможные условия удаления терминов
Выложил релиз на д.о. cctags
я немного побагрепорчу
у меня чего то не заработало
PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ct.page_extra_class' in 'field list': SELECT ct.cctid AS cctid, ct.name AS name, ct.block AS block, ct.block_name AS block_name, ct.page AS page, ct.page_title AS page_title, ct.page_path AS page_path, ct.page_level AS page_level, ct.page_amount AS page_amount, ct.page_sort AS page_sort, ct.page_mode AS page_mode, ct.page_vocname AS page_vocname, ct.page_extra_class AS page_extra_class, ct.item_data AS item_data FROM {cctags} ct; Array ( ) в функции _cctags_get_settings() (строка 409 в файле /sites/all/modules/cctags/cctags.module).
Если брали сначала у меня на сайте а потом с др.орг.
То надо отключить модуль, удалить модуль и включить его по новой (что бы пере создалась табличка cctags в базе).
Просто не стал заморачиватся с хуком update а просто немного изменил структуру таблицы.
не, сразу закачал с орга (это же 7-ка)
Странно скачал сейчас с д.о. поставил вроде все ок. Случайно не переводил сайт с 6-ки (на которой был установлен cctags-6.x) на 7-ку ?
В этом случае надо все же сделать как я написал в предыдущем комменте «надо отключить модуль, удалить модуль и включить его по новой (что бы пере создалась табличка cctags в базе).»
Небольшую описку нашёл в форме управления
«Разрешить формирование юлока для данного элемента cctags».
Прикольный модуль. НА Прошлой неделе только искал аналог tagedelic, но не нашёл
Спасибо за вашу работу!
http://www.avtostrahovanie-russia.ru/content/kia-vyvela-na-rossiiskii-rynok-novyi-avtomobil-picanto - новый автомобиль Picanto
http://www.biznes-hroniki.ru/content/nalogovye-vyplaty-ooo - налоговые выплаты ООО
http://www.dorogi-rossii.ru/content/stroitelstvo-dorog-v-rossii - дорожное строительство сегодня
http://www.stroinay.ru/content/pyat-zapretov-dlya-vashei-krasoty - 5 запретов для вашей красоты
http://www.tehnoblogger.ru/2011/05/v-izraile-sozdali-letayushhie-avtomobili - летающие автомобили
http://www.neotext09.ru - заработок на статьях
http://www.h20-serial.ru - H2O просто добавь воды
http://www.xponika.info/vzlom-seti-senata-ssha - Сенат США атакован
http://www.marketing-blogs.ru - маркетинг и реклама в России
http://www.greek-serial.ru/2010/08/universitet - Университет сериал MTV
http://www.glomerulonefritanet.ru - гломерулонефрит
http://www.trihomoniazanet.ru/2011/06/epidermis - эпидермис
http://www.biznes-war.ru - бизнес войны сегодня
http://www.hlamidizios.ru - мединские новости в России и мире
http://www.investments-money.ru - куда лучше всего инвестировать деньги
http://www.oknapvhrussia.ru/content/metalloplastik-okna - металлопластиковые окна
http://www.seothebest.ru - свежие новости
http://www.elektrogrili-russia.ru - электрические грили в России
http://www.allinforus.ru - новости в мире и стране
http://www.lipstroi.ru/alyuminievye-konstrukcii-v-vashem-dome - алюминиевые конструкции
поставил таки модуль
но, что то не разобрался, как сделать обычное классическое облако (что указывать в правилах сортировки)
Позволяет, правда только через АПИ. Остальных плюшек в тагаделике нет.
Может лучше было расширить функционал тагаделика?
а у меня cctags так и не ставится - выдает ошибку, мол, проблемы с сервером. Эх..
Я так понимаю вы ставили под 6.х , посмотрите у вас хоть один словарь таксономии определен ?
Я обычно оставляю умолчание - «по наименованию в порядке возрастания» - но это дело вкуса
Поставил сабж под php5.3 на D7 сразу получил предупреждения
Deprecated function: Call-time pass-by-reference has been deprecated in _theme_process_registry() (line 413 of /home/vb/websites/drupal7.com/includes/theme.inc).
Deprecated function: Call-time pass-by-reference has been deprecated in menu_execute_active_handler() (line 501 of /home/vb/websites/drupal7.com/includes/menu.inc)
Офф issue здесь
http://drupal.org/node/1234358
Работает вроде, но грустно это каждый раз наблюдать.
вчера только поставил себе на д7 php 5.2.xx
выдало какое-то предупреждение тоже.. очистил кэш, дернул крон. больше предупреждений не видел, настроил все за минуту, интуитивно.
отличная штука, спасибо автору!
Бегло глянул модуль.
Попробуйте заменить строки:
182: function cctags_invoke_cctags_term_count(&$term)
614: function template_preprocess_cctags_term(&$variables)
на
function cctags_invoke_cctags_term_count($term)
function template_preprocess_cctags_term($variables)
Если проканает, сделайте патч и прикрепите к issue.
нет, не это.
баг оказался в файле cctags.admin.inc
там надо убрать амперсанд в двух строчках 248 и 251
cctags_settings_item_validate($form, $form_state);
ну посмотрим, может автор сам поправит,
ну а если не поправит, то поможем.
в модуле ещё желательно отступы поправить и некоторые отступления от стандартов кодирования, руки чешутся.
Поправь, автору патч применить - одно движение мышкой, гораздо проще, чем сесть и написать.
Извиняюсь, что не реагировал на замечания. Был в отпуске, а там инет в гостинице вообще никакой т.е. он как бы есть, но реально что то написать или сделать вообще труба Сейчас немного отойду от отпуска и все поправлю ...
Попробовал модуль (6.x-1.6) на словаре с ~1500 тегами.
Для страницы установил 10 уровней шрифтов - все отображается ок (так же, как у Tagadelic). Но в блоке при выводе 32 тегов (или другого количества) и любом количестве уровней все теги получаются практически одинакового размера. Проблема в том, что для блока используются те же уровни, что и для страницы, но количество тегов на странице и в блоке не сопоставимо, поэтому для блока нужно считать количество уровней отдельно (как в tagadelic).
кстати, что насчет кэширования?
Имхо ведь пересчитывать веса при каждой загрузке ноды (не знаю как сейчас)
Вообще, настройку бы. Пересчитывать веса раз в сутки (или другие варианты)
Вообще-то блок настраивается отдельно (в том числе и количество уровней шрифта) - настройка производиться непосредственно в блоке
Кэширование конечно есть, в 6 версии кэш сбрасывается на хуке hook_taxonomy (op == insert|delete|update), в 7-ке при на хуках hook_taxonomy_term_{update|delete|insert}
Да, я знаю. Поставил 10 уровней и 20 тегов, вот результат: http://dl.dropbox.com/u/5556131/tags.png
Смотрю css-классы тегов в блоке - у всех от level-8 до level-10, хотя по идее должны быть от level-1 до level-10. Это только в блоке, на странице с тегами (где их около 1500) все правильно.
А понятно Есть в шестерки такой баг (вернее логическая ошибка алгоритма)
Можно пропатчить немного
в файле cctags.module закомментировать строку 549, вроде должно помочь
<?php $terms = cctags_sort_tags($terms, 'level,desc', 'mixed');?>
Хотя нет не поможет, ладно разберусь выложу новую версию на днях и для 6-ки и для 7-ки
Отличный модуль от tagadelic и вообще. Спасибо.
(пробовал на 6)
Обновил версию на d.o , текущая версия будет 7.x-1.5 (перепрыгнул через несколько миноров, так как до сих пор не могу по настоящему подружиться с Git).
Исправлены несколько небольших ошибок.
Изменен алгоритм формирования блока:
Теперь все тэги участвующие в элементе сначала сортируются по "весу" в убывающем порядке,
затем массив обрезается до размера облака в блоке и в конце вес этому "срезу" присваивается по новой.
В результате получаем более информативное облако в блоке.
Надо попробовать
Спасибо, а для 6 версии?
2 вопроса возникло
1. Как отредактировать количество уровней и количество тегов для блока с облаком (для страницы вроде есть, для блока не вижу)
2. По странице с тегами. Хм, хотел вывести 100 популярных. Можно вывести все, но по 100 на странице. Может, сделать
1. Настраивается непосредственно в блоке (admin/structure/block)
2. Надо подумать, в принципе как фичу можно и сделать - а с другой стороны, что мешает сделать блок со 100 терминами и вывести его на страницу
1. Спасибо, нашел. (можно имхо сделать небольшую подсказку в админке элемента cctag)
2. В принципе сделать можно отдельным блоком.
Но, у меня выводилось 100 тегов раньше сниппетом, прямо в ноде
Блоком чем хуже:
1. Как приделать ссылку из другого блока на ноду, где это блок?
2. Расположить блок нужно будет с условием отображения по сути только по одному адресу той ноды. Имхо, нагружать "отображатор" друпала ради одной ноды...
ок. добавлю такую фичу в следующем релизе
спасибо
Товарисч olk, внесите пожалуйста ясность!
http://www.drupal.ru/node/68442
Ошибка
Notice: Undefined index: level в функции cctags_settings_item() (строка 142 в файле /home/uxxxx/domains/xxx.com.ua/sites/all/modules/cctags/cctags.admin.inc).
Выберите хотя бы один словарь и уровень терминов в нем.
Невозможно выбрать уровень терминов.
если словарь пустой
Прошу помощи с настройкой модуля cctags.