[РЕШЕНО] Сортировка материалов по количеству заполненых полей материала (Views)

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

Комментарии

Аватар пользователя Dorian76453 Dorian76453 9 марта 2015 в 11:27

"добавить в фильтр and и значение поля not null" - а как в сортировке поможет фильтры?

"Можно добавить сортировку по полю image (fid, alt...)" тоже не пойдет.

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

Ну или отябы по заполнению одного поля, body - чем больше символов в поле body тем выше сортировка. Такое возможно?
пока никак не могу найти вариант решения.
Буду признателен за помощь.

Аватар пользователя bumble bumble 9 марта 2015 в 14:39

Модуля такого точно нет.
Но если сильно нужно - можно создать свой.
Добавить еще одно, скрытое, поле "Вес".
Или с помощью Rules или собственного кода, после создания/обновления проверять все поля и начислять "балы" по необходимым условиям.

Аватар пользователя Dorian76453 Dorian76453 10 марта 2015 в 11:46

есть идея, но не очень понимаю как реализовать:
во views, если поле заполнено выводить 1, в противном случае 0. затем для сущности подсчитывать сумму, и сортировать по этой сумме.
Если это сделать с помощью php поля views на сколько это будет плохо?

Аватар пользователя Dorian76453 Dorian76453 10 марта 2015 в 13:06

Решил:
сначала пытался пойти по пути с указанием веса или значения "заполнености" поля. Прописывал "перезаписать значени: 1" и скрывать при отсутствии результата. затем с помощью поля "математичское выражение" подсчитывал сумму единиц. Все получилось, но вот с сортировкой по результату поля проблема.
Плюнул, порылся на drupal.org нашел модуль Views Sort Null Field.
Он сортирует в завистимости от того заполнено поле или нет.
В итоге я добавил на каждое поле по данному типу сортировки, материалы со значением поля NULL у меня последние. И с помощью веса сортировки выставил приоритет, по каким полям сортировать сначала.