Я имею представление о типе контента, который содержит два разных поля даты (одно с повторениями даты и одно многозначные отдельные даты). В любой момент времени заполняется только одно поле даты. В представлении представления я объединил два поля, скрыв первое поле даты и переписав второе, включая маркер замены первого и второго. Есть ли способ теперь использовать переписанное поле для сортировки представления в порядке возрастания на основе этого комбинированного поля даты? Похоже, он сортирует его на основе исходного значения поля даты.
Я провел свое исследование и нашел только старые, несколько связанные темы, с тупиками.
сортировка просмотров по переписанному полю?
Таблица сортируется не по переписанному полю, а по исходному полю
Просмотры: настраиваемое поле для критериев сортировки
Сортировать по глобальному: пользовательский текст. Является ли это возможным?
Я надеялся, что есть новый или хитрый способ добиться этого.
Ответы:
Если вы не хотите идти по маршруту модуля, это одна из альтернатив:
1) установить модуль Computed Field
2) добавить вычисляемое поле к вашему типу контента
3) в настройках поля, в текстовой области Computed code (PHP), вы можете получить доступ к данным поля.
Получите ваши поля даты в вашем текущем языке в переменную.
Ваши значения даты теперь можно найти в
Используйте всю необходимую логику для полей даты и присвойте результат
Теперь у вас есть сортируемое поле, которое вы можете использовать в представлениях, но сначала вам нужно обновить все узлы, так как вычисляемое поле будет только вычислено и сохранено в базе данных при сохранении узла. Есть много способов сделать это, один из которых использует Bulk Operations Views, он дает вам возможность повторно сохранить узлы в admin / content.
источник
[und]
синтаксис. Вместо этого используйте field_get_items.Я думаю, что вы можете сделать это с помощью Natural Natural Sort . У него есть опция сортировки полей, значит - Включить сортировку по конкретным полям . Если вы будете следовать этому уроку, вы получите представление !!
источник
Единственный хитрый способ сделать это - если вы не используете нумерацию страниц, то вы можете использовать сортировку PHP в пользовательском переопределении запроса, которое не зависит от базы данных.
По словам стивектора ,
Таким образом, наиболее практичным и надежным решением является использование Computed Field, как упомянуто Kari Kääriäinen.
источник
Это немного хакерский способ сделать это, но он работает, и вам не нужны никакие дополнительные модули.
Создайте метку для поля, по которому вы хотите отсортировать, и НЕ исключайте его из отображения. Вместо этого переписать отображение как «пустое», добавив пустой
<!---->
комментарий HTML в качестве значения перезаписи. Затем добавьте другое поле php / rewritten в качестве дочернего элемента этого столбца.Это отобразит заголовок таблицы для правильного столбца для сортировки.
источник