Агрегация заголовков материалов

Главные вкладки

Аватар пользователя Phantom63rus Phantom63rus 30 октября 2018 в 12:44

Вроде бы простая задача, но никак.

Есть тип ноды, есть ноды с одинаковыми заголовками. Задача вывести их по алфавиту, а если несколько имеют одинаковый заголовок - вывести количество.

Подскажите куда копать.

Комментарии

Аватар пользователя Orion76 Orion76 30 октября 2018 в 14:56

Если ноды с одинаковыми заголовками, и их необхъодимо группировать (выводить кол-во в группе) то очевидно, что заголовок - это наименование какой-то группы.
Следовательно напрашивается группировка нод по термину таксономии типа "тэг", который и будет содержать "заголовок".
А для заполнения "родного" заголовка ноды можно поставить модуль https://www.drupal.org/project/auto_entitylabel
чтобы "заполнял" заголовки ноды тайтлом группирующего термина.

Аватар пользователя Phantom63rus Phantom63rus 30 октября 2018 в 15:33

Это интернет-конкурс, где в качестве заголовка ноды используется ФИО, а сама нода это заявка. Проект был сделан ещё в 2011 на д6, сейчас на д7. Я понимаю что по правильному нужен тип ноды "конкурсант" к которому через entityreference подцеплять заявки, что решит и озвученную и ещё пяток других структурных проблем. Но проект некоммерческий и там 2к заявок, поэтому вариант тотальной переделки не рассматривается, ну не в этом году, да и не успею я до запуска очередного сезона.

P.S. Autolabel там стоит, заголовок в нынешней версии формируется из нескольких полей.

Аватар пользователя Orion76 Orion76 30 октября 2018 в 16:29

В любом случае, чтобы качественно сгруппировать ноды по заголовкам, необходимо "нормализовать" заголовки, т.е. привести их виду, который позволит их однозначно сравнивать и находить одинаковые.
Потому что скорее всего ФИО, "одинаковые" визуально для человека, для "компьютера" будут не всегда "одинаковы":
- ошибки-опечатки
- разное кол-во разделителей-пробелов между словами
- строчные-прописные буквы
- разный порядок элементов: ФИО-ИОФ
и т.п.

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

Кстати, можно в полу-ручном режиме при помощи VBO, с небольшими трудозатратами добавить необходимые таксономи-поля:
- Имя
- Отчество
- Фамилия

А потом, с подсчетом кол-ва сгруппированных нод справится и банальный вьюс с группировкой.

Аватар пользователя Phantom63rus Phantom63rus 30 октября 2018 в 17:38

С прошлого года заголовок формируется из четырёх полей: фамилия, имя, отчество и ник - как раз вот по описанным причинам. Бывают люди, которые не могут свою фамилию правильно написать, например один кадр четыре раза выдал четыре разных написания... все заявки проходят премодерацию, поэтому всё более-менее ровно.

Вопрос всё же стоит в том виде в котором он стоит. Включение агрегации с группировкой результатов по заголовку ничего не даёт. Что я делаю не так?