1 views_handler_field.inc | views_handler_field::tokenize_value($value, $row_index = NULL) |
Replace a value with tokens from the last field.
This function actually figures out which field was last and uses its tokens so they will all be available.
File
- core/
modules/ views/ handlers/ views_handler_field.inc, line 294 - @todo.
Class
- views_handler_field
- Base field handler that has no options and renders an unformatted field.
Code
function tokenize_value($value, $row_index = NULL) {
if (strpos($value, '[') !== FALSE || strpos($value, '!') !== FALSE || strpos($value, '%') !== FALSE) {
$fake_item = array(
'alter_text' => TRUE,
'text' => $value,
);
// Use isset() because empty() will trigger on 0 and 0 is
// the first row.
if (isset($row_index) && isset($this->view->style_plugin->render_tokens[$row_index])) {
$tokens = $this->view->style_plugin->render_tokens[$row_index];
}
else {
// Get tokens from the last field.
$last_field = end($this->view->field);
if (isset($last_field->last_tokens)) {
$tokens = $last_field->last_tokens;
}
else {
$tokens = $last_field->get_render_tokens($fake_item);
}
}
$value = strip_tags($this->render_altered($fake_item, $tokens));
if (!empty($this->options['alter']['trim_whitespace'])) {
$value = trim($value);
}
}
return $value;
}