function itoggle_views_handler_field::render in iToggle 7.2
Same name and namespace in other branches
- 7 modules/views/itoggle_views_handler.inc \itoggle_views_handler_field::render()
Render the trigger field and its linked popup information.
Overrides views_handler_field::render
File
- modules/
views/ itoggle_views_handler_field.inc, line 45 - Views field handler for iToggle Views.
Class
- itoggle_views_handler_field
- A handler to provide a custom field for iToggle.
Code
function render($values) {
$type = $this->_itoggle['type'];
$property = $this->_itoggle['property'];
$id = $this->_itoggle['id'];
// Special case with comments.
if ($type === 'node' && isset($values->comment_nid)) {
$values->nid = $values->comment_nid;
}
if (isset($values->{$id})) {
$id = $values->{$id};
// Check if property value already exists in $values array before
// loading entity.
if (array_key_exists($property, $values)) {
$value = $values->{$property};
}
else {
if (array_key_exists("{$type}_{$property}", $values)) {
$value = $values->{"{$type}_{$property}"};
}
else {
$entity = current(entity_load($type, array(
$id,
)));
$value = $entity->{$property};
}
}
$clickable = $this->options['itoggle_clickable'];
$display_type = $this->options['itoggle_display_type'];
return array(
'#theme' => 'itoggle',
'#type' => $type,
'#id' => $id,
'#property' => $property,
'#checked' => (bool) $value,
'#scope' => 'entity',
'#clickable' => $clickable,
'#display_type' => $display_type,
);
}
return NULL;
}