function _filter_ratings_data($document, $name, $json_name, $config, $format, $add_tooltips = false, $use_raw_value = false, $raw_value_prefix = null, $alternate_name = null, $tooltip_config = null)
{
    $raw_value = !empty($document[$name]) ? $document[$name] : $document->get($name, 'ESC_RAW');
    $value = _get_field_value_in_list(sfConfig::get($config), $raw_value);
    if (empty($value)) {
        if ($format == 'json' || $format == 'jsonkeys') {
            return array();
        } else {
            return null;
        }
    }
    $string_value = $use_raw_value ? $raw_value_prefix . $raw_value : $value;
    if ($format == 'json') {
        return array($json_name => $string_value);
    } elseif ($format == 'jsonkeys') {
        return array($json_name => $raw_value);
    } elseif ($add_tooltips) {
        if (!empty($tooltip_config)) {
            $tooltip_value = _get_field_value_in_list(sfConfig::get($tooltip_config), $raw_value);
        } else {
            $tooltip_value = $value;
        }
        $string_value = '<span title="' . __(empty($alternate_name) ? $name : $alternate_name) . ' ' . $tooltip_value . '">' . $string_value . '</span>';
    }
    return $string_value;
}
<?php

use_helper('Field');
$doc_id = $data->get('id');
$ratings = field_route_ratings_data($data);
$facing = _get_field_value_in_list(sfConfig::get('app_routes_facings'), $data->get('facing'));
$height = $data->get('height_diff_up');
if ($height) {
    $height .= ' ' . __('meters');
}
$data = array();
if ($facing) {
    $data[] = $facing;
}
if ($height) {
    $data[] = $height;
}
if ($ratings) {
    $data[] = $ratings;
}
$link = link_to(__('Show the route'), '@document_by_id?module=routes&id=' . $doc_id, array('onclick' => "window.open(this.href);return false;"));
echo __('Short description: '), implode(' - ', $data), ' (', $link, '</a>)';