Можно ли подсчитывать результаты (например, подсчитывать узлы типа контента x) в представлении, используя агрегирование (не программно)?
Можно ли подсчитывать результаты (например, подсчитывать узлы типа контента x) в представлении, используя агрегирование (не программно)?
Ответы:
Да, это возможно в Views 3 из коробки.
Идея та же, что и в агрегации SQL. Давайте посмотрим на пример:
Отредактируйте свой вид и включите агрегацию видов
Удалить критерии сортировки по умолчанию.
Чтобы увидеть, что происходит, просто установите флажок «Показать SQL-запрос» на странице настроек глобального представления.
SELECT node.type AS node_type, COUNT(node.nid) AS nid
FROM
{node} node
WHERE (( (node.status = '1') ))
GROUP BY node_type
LIMIT 10 OFFSET 0
Итак, мы группируем узлы по типу узла и вычисляем количество для этих групп.
Хорошие ответы здесь, хотя ваш первоначальный вопрос не указывает, что вы собираетесь делать со значением count. Предположительно, вы хотите отобразить это?
Если так, вот другое решение:
Предполагая, что ваше представление уже настроено на фильтрацию по элементам типа содержимого, вы также можете добавить заголовок в представление и выбрать опцию «Global: Result summary» и использовать переменные токена, предоставленные в текстовой области.
На всякий случай, если кто-то сталкивается с этим.
Я использовал SQL формата даты представления, чтобы отформатировать дату к детализации.
Модуль SQL формата представления даты позволяет форматировать поля даты с использованием SQL. Это позволяет объединять группы для полей даты, используя выбранную гранулярность.
Основная функция состоит в том, чтобы удалить форматирование даты из render () и поместить его в query (). Т.е. форматировать значения даты, используя SQL DATE_FORMAT вместо PHP format_date.
Это достигается путем назначения нового обработчика по умолчанию для полей даты «создан» и «изменен» узла. Этот обработчик расширяет и переопределяет сборку представлений в views_handler_field_date.
Работал прямо из коробки - просто как!