Drupal 7 - Администрирование - Найти узел по значению его поля - PullRequest
4 голосов
/ 20 июля 2011

Я ищу способ администратора / модератора сайта найти / отфильтровать список узлов по некоторому пользовательскому значению поля. Значение поля может быть определено с помощью радио / текста / флажка и т. Д.

В списке содержимого по умолчанию предлагается только несколько фильтров, этого недостаточно для сайтов с огромным количеством пользовательских узлов.

Ответы [ 4 ]

7 голосов
/ 20 июля 2011

Используйте объект EntityFieldQuery, документированный здесь:

http://api.drupal.org/api/drupal/includes--entity.inc/class/EntityFieldQuery/7

В документации нет примеров (тьфу), но здесь есть поток с некоторыми:

http://drupal.org/node/916776

РЕДАКТИРОВАТЬ: Ах, вы говорите об администрировании, а не на самом деле писать модуль для этого.Если это так, используйте вид с открытыми фильтрами, как сказал другой парень.:)

4 голосов
/ 20 июля 2011

Может быть, это поможет использовать для него представление, в котором вы устанавливаете фильтры, чтобы получить желаемый список.

1 голос
/ 28 августа 2011

Я должен был проверить это, но я только что подтвердил. Представления в Drupal 7 действительно могут фильтроваться по нескольким типам контента с настраиваемыми полями, и при этом к этим настраиваемым полям применяются фильтры. Кажется, они обрабатывают узлы без этих пользовательских полей как пустые или нулевые значения.

Например, у меня есть типы статей и блогов. В блоге есть изображения, в статье нет. Я могу отсортировать или отфильтровать поле изображения, хотя в статье его нет. Он просто предполагает, что поле пустое или пустое.

Это, однако, может не решить вашу проблему с большим количеством настраиваемых полей. Если они динамические (т.е. они растут со временем), у вас могут быть проблемы. Однако, если они установлены и имеют очень большое число, вы можете справиться с этим.

Таким образом, хотя нет автоматического добавления всех полей, о которых, как я полагаю, вы упомянули в предыдущем посте, вы можете осуществлять поиск по большому количеству полей. Даже выставляя поля, которые вы не обязательно отображаете в таблице, но затем можете искать по ним. Или изменив поля, которые вы выставляете или отображаете на странице в представлении. Все с одного взгляда. И затем вы можете экспортировать представление, чтобы перенести его на другие сайты.

Я собирался прикрепить экспортированное представление, но я думаю, что экспорт достаточно велик для включения в ответ. Пожалуйста, дайте мне знать, если вы думаете, что я все еще должен включить его, или если вы предпочитаете, я могу просто отправить его вам в личку. Дайте мне знать!

РЕДАКТИРОВАТЬ: Я решил включить ссылку на экспорт представления. http://greggalante.com/sites/greggalante.com/files/cross_type_view.txt

0 голосов
/ 25 августа 2011
...