Есть табличный вид строки в котором группируются по CCK полю "серый PPR", колонка которого не выводится в общую таблицу.
Понадобилось добавить к некоторым (не ко всем) нодам дополнительное расширенное описание, решил сделать это через node reference. Описанием будет обычная нода с заголовком (который нужен только для идентификации в админке) и содержанием.
Это самое содержание я и хочу выводить отдельной строкой таблицы под каждой краткой записью о товаре.
Проблемма в том как одновременно скрыть это поле чтобы оно не появилялось дополнительным столбцом таблицы но к нему можно было бы обратится через темизацию views-view-table.tpl.php
Комментарии
на крайняк поле можно убрать а в шаблоне выдергивать запросом из базы
а там галочка есть для этого. Приглядитесь получше
помоему тогда и доступа из шаблона не будет к полю
если речь про "Exclude from display" то доступа не будет ( последний пост на первой странице и у меня тоже не получилось), а sql запросом как то не красиво, уверен что есть какие-то более грамотные способы. Если есть хороший мануал по темизации где этот вопрос рассматривается на русском \ английском - также буду признателен.
используй
Спасибо!
а сильно это утяжелит вывод? - по сути дважды вывод вьюса получается? или я не прав?
вообщем поборол!
привожу код темизированного views-view-table.tpl.php - в надежде что кому то пригодится
<?php if (!empty($title)) : ?>
<caption><?php print $title; ?></caption>
<?php endif; ?>
<thead>
<tr>
<?php foreach ($header as $field => $label): ?>
<th class="views-field views-field-<?php print $fields[$field]; ?>">
<?php print $label; ?>
</th>
<?php endforeach; ?>
</tr>
</thead>
<tbody>
<?php foreach ($rows as $count => $row): ?>
<tr class="<?php print implode(' ', $row_classes[$count]); ?>">
<?php foreach ($row as $field => $content): ?>
<td class="views-field views-field-<?php print $fields[$field]; ?>">
<?php print $content; ?>
</td>
<?php endforeach; ?>
</tr>
<?php
/* проверка существования данных в нужном поле */
if ($view->result[$count]->МОЁ_ПОЛЕ_С_РАСШИРЕННЫМ_УТОЧНЕНИЕМ[0][nid]) {
/* циклом пробегаемся по массиву т.к. значений может быть несколько */
foreach ($view->result[$count]->МОЁ_ПОЛЕ_С_РАСШИРЕННЫМ_УТОЧНЕНИЕМ as $adv_note) {
/* выводим отдельную строку под строкой у которой есть это дополнительное поле с описанием*/
print "<tr><td colspan='".count($row)."'>".node_load($adv_note[nid])->body."</td></tr>";
}
}
?>
<?php endforeach; ?>
</tbody>
</table>
вопросы задавайте,замечания пишите,советам внемлю!
единственное что меня беспокоит - это насколько тяжелее стал вывод, в связи с вторым обращением к выводу представления через $view->result.
Спасибо penexe за то что "пнул" в нужном направлении!