Drupal 7 самых популярных тегов в списке в виде блока: как?


15

Я обнаружил, что Tagadelic работает очень хорошо из коробки и, по моим часам исследований и знаний, единственная функция plug & play для облака тегов, доступная для Drupal 7.

Это единственная проблема, с которой я столкнулся - мне нужна функциональность Tagadelic, но она мне не нужна в «облачном» формате. Мне нужно, чтобы мое облако тегов было в списке от самых популярных до наименее популярных и без изменения размера. Например:

Пункт x
Пункт h
Пункт j
Пункт o
Пункт 4

Очевидно, что самым популярным элементом является «Элемент x», а наименее популярным - «Элемент 4». Как Tagadelic может быть изменен для этого, так как я знаю, что для этого потребуется нечто большее, чем исправление CSS? Или есть лучший вариант, чем Tagadelic?


Ответы:


13

Вы можете сделать это с помощью представлений:

  • создать вид терминов
  • добавить обязательное отношение к «контенту с помощью тегов»
  • установить агрегацию использования: да
  • во второй раз добавьте поле «имя термина», установите для одного из них «тип агрегации: количество»
  • добавить «имя термина» в качестве критерия сортировки, установить «тип агрегации: количество»

Пример просмотра находится на http://drupalbin.com/19467


Я предполагаю, что у вас установлен модуль Views Group By для агрегации.
— Ян Томка

2
Агрегирование встроено в Views 7.x-3.0! Там нет необходимости для дополнительного модуля.
— Дилан Тэкс

О, слишком просто! ;-)
— Ян Томка

Спасибо за решение. Не забудьте отфильтровать по опубликованному узлу, используя отношения (если вы получаете странные результаты).
— Алесс Машерпа

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

2

Tagadelic фактически делает то, что вы хотите, но затем использует CSS для преобразования списка в облако.

Все, что вам нужно, это переопределить CSS в вашей теме:

.wrapper.tagadelic {
  display: block;
  text-align : left;
  margin-right: 0;
}

.tagadelic.level1,
.tagadelic.level2,
.tagadelic.level3,
.tagadelic.level4,
.tagadelic.level5,
.tagadelic.level6,
.tagadelic.level7,
.tagadelic.level8,
.tagadelic.level9,
.tagadelic.level10 {
  font-size : 1em;
}

1

Смотрите модуль cctags в качестве альтернативы.

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


CCtags вызывает эту ошибку: Устаревшая функция: передача по времени вызова не рекомендуется в _theme_process_registry () (строка 413 из /home/sites/site01/drupal/includes/theme.inc). Устаревшая функция: переход по ссылке во время вызова устарел в _theme_process_registry () (строка 413 из /home/sites/site01/drupal/includes/theme.inc). Есть идеи? Спасибо за вашу помощь
— Джереми

1
Без понятия. Боюсь, вам придется попасть в очередь выдачи модуля для дальнейшей поддержки.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.