получить список пресетов

Главные вкладки

Аватар пользователя z-s z-s 1 декабря 2012 в 20:51

Во 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 ? (это не для текущей проблемы - а вообще как это делать - если из случайного места мне нужно будет получить "какой сейчас режим" - где-то в прошлом читал, но забыл и найти не получается )