Как Drupal 6.x Views запрашивает несколько терминов таксономии, связанных с одним фрагментом контента? - PullRequest
4 голосов
/ 14 декабря 2010

Этот вопрос касается сантехники Drupal. Я знаю, как с помощью построителя запросов Views отображать несколько терминов таксономии, связанных с одним фрагментом контента. Что я не могу понять, так это то, как Views фактически запрашивает базу данных, чтобы выполнить работу.

Например, в списках блогов, в которых есть один или несколько тегов, просто просмотреть «Виды»:

Title: "Brett Favre is Hurt"  
Body: "blah blah blah"  
Tags: Football, Injury  

Title: "Cliff Lee Signs Contract"  
Body: "blah, blah, blah"  
Tags: Baseball, Free Agency, Philadelphia  

То, что я не могу понять, так это то, как Views работает с несколькими тегами и отображает их для каждого элемента контента. Запрос Preview Preview не показывает никакого такого SQL, включающего таксономию.

Я предполагаю, что в «поле» Таксономии происходит своего рода подзапрос, или запрос извлекает несколько записей и каким-то образом группирует поля в заголовке и теле (что может показаться довольно неэффективным).

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

1 Ответ

1 голос
/ 02 января 2011

Это делается в функции pre_render (), с отдельным запросом, см. views 2 документации API .

При попытке выяснить, как Views делает X, я всегдапопытайтесь выяснить, в каком обработчике это происходит.Поскольку все они разделены на классы в отдельных файлах (обычно в папке modules / module_name)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...