Find the tips:
Add this to the array return by my_price_formatters_field_formatter_info() :
'settings' => array(
'calculation' => TRUE,
),
Like this:
/**
* Implements hook_field_formatter_info().
*/
function my_price_formatters_field_formatter_info() {
return array(
'commerce_price_for_me' => array(
'label' => 'Price my way',
'field types' => array('commerce_price'),
'settings' => array(
'calculation' => TRUE,
),
),
);
}
Then add this function:
/**
* Implements hook_field_formatter_settings_form().
*/
function my_price_formatters_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
$display = $instance['display'][$view_mode];
$settings = $display['settings'];
$element = array();
switch($display['type']) {
case 'commerce_price_for_me':
$element['calculation'] = array(
'#type' => 'checkbox',
'#value' => TRUE,
'#title' => t('Show calculated price'),
'#default_value' => empty($settings['calculation']) ? 'TRUE' : $settings['calculation'],
);
break;
}
return $element;
}
And this one too:
/**
* Implements hook_field_formatter_settings_summary().
*/
function my_price_formatters_field_formatter_settings_summary($field, $instance, $view_mode) {
$display = $instance['display'][$view_mode];
$settings = $display['settings'];
$summary = array();
switch ($display['type']) {
case 'commerce_price_for_me':
if ($settings['calculation'] == TRUE){
$summary[] = 'Show calculated price.';
} else {
$summary[] = 'Show base price.';
}
break;
}
return implode('<br />', $summary);
}
Then amount (in $items or $entity) will be the calculated price.
And that's all folks.