Используя выражения выбора или производное поле в Представлениях2 в качестве полей?
Можно ли использовать выражение select или производное поле в качестве поля в Views2 в Drupal 6?
Расширенная справочная документация , по-видимому, указывает на то, что, возможно, это возможно:
Хотя очень часто используется неполя для отображения данных, которые не находятся непосредственно в поле, таких как данные , полученные из формул...
Но они там не приводят примеров.
Я имею в виду, что я ищу какой-то способ укажите, что запрос должен быть
SELECT field1, CONCAT(field3, ', ', field4) AS alias1, IF( field5 > 10, 1, 0) AS alias2 FROM table ...
Могу ли я указать выражения alias1
и alias2
в собственных функциях views2? Если да, то каков синтаксис?
Или мне нужен отдельный модуль?
1
1 answers
Похоже, что мне нужно создать Пользовательский обработчик полей. Из связанной статьи, определение, подобное этому
<?php
class scheduler_handler_field_scheduler_countdown extends views_handler_field {
function query() {
$this->ensure_my_table();
$this->node_table = $this->query->ensure_table('node', $this->relationship);
$this->field_alias = $this->query->add_field(NULL,
'IF(publish_on AND publish_on > UNIX_TIMESTAMP(),
publish_on - UNIX_TIMESTAMP(), NULL)',
$this->table_alias . '_' . $this->field);
}
}
?>
Добавляет это в запрос
SELECT node.nid AS nid,
node.title AS node_title,
IF(publish_on AND publish_on > UNIX_TIMESTAMP(),
publish_on - UNIX_TIMESTAMP(),
NULL) AS scheduler_publish_countdown
FROM node node
LEFT JOIN scheduler scheduler ON node.nid = scheduler.nid
WHERE node.status = 0
2
Author: user1359, 2011-06-23 17:14:10