Я тоже искал это. Это то, что я только что бросил вместе.
<?php
/**
* Implements hook_views_api()
*/
function mymodule_views_api() {
return array("version" => "3.0");
}
/**
* Implements hook_views_data_alter()
*/
function mymodule_views_data_alter(&$data) {
$data['views']['nothing_token'] = array(
'title' => t('Custom text with token replacement'),
'help' => t('Provide custom text or link with token replacement.'),
'field' => array(
'handler' => 'views_handler_field_custom_token',
),
);
}
class views_handler_field_custom_token extends views_handler_field_custom {
function query() {
// do nothing -- to override the parent query.
}
function render($values) {
global $user;
$data = array(
'user' => $user,
'view' => $this->view,
);
// Return the text, so the code never thinks the value is empty.
return token_replace($this->options['alter']['text'], $data);
}
}
Затем, по вашему мнению, вы добавили бы поле «Global: пользовательский текст с заменой токена» и использовали [current-date: raw] в текстовом поле. Затем вы можете добавить математическое выражение, используя это поле. Возможно, вы сможете расширить класс views_handler_field_math, чтобы сделать там то же самое, но еще не пробовали.