Как сказать представления "не тема данных строки"

У меня есть мнение, что со стилем строки установлен на "поля". Вместо того, чтобы выделять отдельные строки обычным способом - то есть с помощью шаблонов стилей, строк и полей - я хотел бы извлечь определенную информацию из каждой строки, связать извлеченную информацию как объект json, а затем передать объект json в сценарий. Затем сценарий отобразит все данные строки.

Я создал собственный шаблон views-view-unformatted - myview.tpl.php со следующим кодом:

<?php
$rowdata = array()
foreach ($rows as $key => $row) {
  dsm ("row $key: "); dsm ($row);
  $rowdata[$key] = dostuff($row);
}
?>

К сожалению, я обнаружил, что $ row больше не является объектом (это то, что мне нужно). Он уже представлен в виде строки html.

Как мне сказать представлениям "пожалуйста, не визуализируйте отдельные строки. Мне нужен доступ к данным строки"

Спасибо

2 ответа

Решение

Я решил свою проблему, создав плагин представлений. Подход аналогичен тому, что описано здесь http://groups.drupal.org/node/10129, в разделе "Написание представлений 2, плагины стиля и строки". Я создал плагин стиля (но не плагин строки), и в определении стиля я установил "использует плагин строки" в false. Затем я смог получить доступ к данным строки из моего шаблона стиля. Это позволило мне связать все мои строки как объекты json.

Вместо использования шаблона вывода стиля, вы должны использовать шаблон вывода стиля строки. Таким образом, ваш файл шаблона должен быть чем-то вроде views-view-fields- your-view.tpl.php. Просто посмотрите под заголовком "Row style out" в "Theming information" для имени шаблона, которое вы должны использовать. В этом шаблоне вы получите необработанный объект $row.

Другие вопросы по тегам