Сортировка полей cck в представлениях drupal6 по «дате ревизии» - PullRequest
1 голос
/ 26 ноября 2009

Я ищу способ построить представление в drupal6, позволяя ему захватить «добавленную дату» из поля cck nodereference, имеющего несколько значений.

Мне нужен список заголовков ссылочных узлов, отсортированный (desc) по дате, когда они были добавлены в список ссылок.

Я попытался настроить представление «узел», чтобы оно получало идентификатор узла из URL и позволяло отображать заголовки узлов, которые связаны отношением с полем cck. При сортировке по «дате ревизии» или «vid ревизии» я, очевидно, получил «обычный» список, поскольку все записи присутствовали в последней ревизии.

Есть идеи, как с этим справиться?

1 Ответ

0 голосов
/ 28 ноября 2009

Я не уверен, что это действительно возможно в SQL, как я понимаю. Если я правильно понимаю, вы хотите, чтобы дата ревизии подключенных узлов, но эти узлы объединяются через отношения, которые сделают их revision_date похожими на attach_node.revision_date и attach_node_2.revision_date. Таким образом, сортировка по дате редакции будет неоднозначной, но вы не можете сортировать по одному и тому же столбцу из двух разных таблиц.

Таким образом, вам, возможно, придется переопределить цель, или если вы можете понять SQL (может быть, я просто полон индюка и медлительности сегодня), но представления не могут с этим справиться, вы можете использовать hook_views_query_alter в своем модуле и настроить $query->where IIRC. Вы также можете hook_views_pre_execute, хотя это явно уродливее и требует, чтобы вы могли анализировать SQL. Хорошо, если вы просто собираетесь полностью заменить SQL, хотя в каком-то представлении, и использовать интерфейс представлений только для его замечательного аргумента и параметров вывода.

...