Во views нужно получить ссылку на изображение. [сделано]
Использую стандартный тип поля "image", но поскольку дефолтный форматер выводит изображение с тегами, а мне нужно только ссылку сделал свой форматер:
<?php
/**
* Implements hook_field_formatter_info().
*/
function imgformater_field_formatter_info() {
return array(
'imgformater_absolute_url' => array(
'label' => t('Absolute URL, as plain text'),
'description' => t('default formater for image field type do\'nt get us to take plain url of image, this formeter do it'),
'field types' => array('image'),
'settings' => array(
'preset'=>'thumbnail',
),
'multiple values' => FIELD_BEHAVIOR_DEFAULT,
),
);
}
/**
* Implements hook_field_formatter_settings_form
*/
function imgformater_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
$display = $instance['display'][$view_mode];
$settings = $display['settings'];
$element = array();
$element['preset'] = array(
'#type' => 'select',
'#title' => t('Image thumbnail preset'),
'#description' => t('Which preset to use for video thumbnail'),
'#default_value' => $settings['preset'],
'#options' => array(
'small' => 'Small',
'medium' => 'Medium',
'large' => 'Large',
),
);
return $element;
}
/**
* Implements hook_field_formatter_view().
*/
function imgformater_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$elements = array();
foreach ($items as $delta => $item) {
$elements[$delta] = array(
'#markup' => image_style_url('thumbnail',$item'element']['uri']);
);
}
return $elements;
}
?>
1. И вот встал вопрос - как получить список существующих пресетов в D7 ?
2. И еще как получить текущий $view_mode ? (это не для текущей проблемы - а вообще как это делать - если из случайного места мне нужно будет получить "какой сейчас режим" - где-то в прошлом читал, но забыл и найти не получается )