Views: рендеринг поля в tpl

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

Аватар пользователя Sorix Sorix 5 марта 2009 в 2:53

Здравствуйте.

В .tpl.php-файлах модуля news для получения значения определенного поля можно использовать такую конструкцию:

<?php $data = $row->{$field->field_alias}; ?>

Мне для грамотного дизайна необходимо объединить несколько переменных в один файл темы (чтобы views не на вставлял своих лишних спанов), я реализовал это путем создания 1 tpl.php-файла, в котором обрабатывается сразу несколько переменных. Пример:

<?php
$znick = $row->node_data_field_logo_field_nickname_value;
$zclass = $row->node_data_field_logo_field_class_value;
$zlvl = $row->node_data_field_logo_field_level_value;
$zcat = $row->node_data_field_logo_field_category_value;

if ($znick) { print 'Имя: ' . $znick . ',  '; }
if ($zclass) { print 'Класс: ' . $zclass . ',  '; }
if ($zlvl) { print 'Уровень: ' . $zlvl . ',  '; }
if ($zcat) { print 'Категория: ' . $zcat . ',  '; }
?>

Однако, данные получаемые из $row содержат немного не ту информацию, а именно информацию по ключу, который хранится в таблицу (то есть, например, в CCK было указано bad_boy|<span class="test">Плохой мальчик</span>, соответственно в БД хранится ключ bad_boy, которому уже потом приписывается Плохой мальчик). У меня как раз при запросах через $row выводится всегда именно bad_boy — то есть не форматированный ключ в таблице.

Как можно добиться вывода форматированного текста (<span class="test">Плохой мальчик</span>)?