function views_rss_yandex_realty_field_formatter_view in Views RSS: Yandex Elements 7
Implements hook_field_formatter_view().
File
- views_rss_yandex_realty/
views_rss_yandex_realty.field.inc, line 72 - Field formatters for Views RSS: Yandex Realty module.
Code
function views_rss_yandex_realty_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = NULL;
foreach ($items as $delta => $item) {
// Inside a view item may contain NULL data. In that case, just return.
if (($field['type'] == 'file' || $field['type'] == 'image') && empty($item['fid']) || $field['type'] == 'media' && empty($item['file']->fid) || $field['type'] == 'text' && empty($item['safe_value']) || $field['type'] == 'link_field' && empty($item['url'])) {
unset($items[$delta]);
continue;
}
// Get full image URL based on provided image style.
if ($field['type'] == 'image' && !empty($display['settings']['image_style']) && ($image_style = image_style_load($display['settings']['image_style']))) {
$uri = image_style_url($display['settings']['image_style'], $item['uri']);
}
elseif ($field['type'] == 'media') {
$uri = file_create_url($item['file']->uri);
}
elseif ($field['type'] == 'text' || $field['type'] == 'link_field') {
$uri = $field['type'] == 'text' ? $item['safe_value'] : $item['url'];
}
else {
$uri = file_create_url($item['uri']);
}
// XML element array in format_xml_elements() format.
$rss_element = array(
'key' => 'image',
'value' => $uri,
);
$element[$delta] = array(
'#item' => $item,
'#markup' => format_xml_elements(array(
$rss_element,
)),
'#rss_element' => $rss_element,
);
}
return $element;
}