Views API: Вставка дополнительных полей

Пользуясь мудрыми руководствами http://graker.ru/drupal/papers/views_integration и http://druit.ru/blogs/views/143, разбираюсь с views API. Вроде работает, но почему-то не удается подключить дополнительные поля в handler вьюса. Делал так:

    $data['goods']['unit'] = array(
        'title' => t('Unit of measure'),
        'help' => t('unit of measure.'),
        'field' => array(
            'handler' => 'avuser_handler_field_unit',
            'additional fields' => array('currency' => 'currency','size' => 'size'),
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_string',
        ),
    );
,
делал так:
class avuser_handler_field_unit extends views_handler_field {
 
    function construct() {
        parent::construct();
        $this->additional_fields['currency'] = 'currency';
        $this->additional_fields['size'] = 'size';
    }
 
    function query() {
        return;
    }
 
    function render($values) {
        return $values->goods_currency.'/'.$values->goods_size;
    }
}

если руками не добавляю поля currency & size — поле unit выводит только /. Был бы очень благодарен за совет

 
 
27.07.2011 — 11:38

Комментарии (1)

Аватар пользователя Yustos
14.08.2011 — 15:08
0
 
 

Проблему решил через query(), но хотелось бы теми способами, которые предложены выше. Но по отсутствию комментариев понял, что таким образом проблема не решаема в принципе. Жаль :(