Помогите темизировать табличный Views [РЕШЕНО]

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

Аватар пользователя Ne_L Ne_L 25 июня 2010 в 18:16

Есть табличный вид строки в котором группируются по CCK полю "серый PPR", колонка которого не выводится в общую таблицу.

Понадобилось добавить к некоторым (не ко всем) нодам дополнительное расширенное описание, решил сделать это через node reference. Описанием будет обычная нода с заголовком (который нужен только для идентификации в админке) и содержанием.
Это самое содержание я и хочу выводить отдельной строкой таблицы под каждой краткой записью о товаре.

Проблемма в том как одновременно скрыть это поле чтобы оно не появилялось дополнительным столбцом таблицы но к нему можно было бы обратится через темизацию views-view-table.tpl.php

Комментарии

Аватар пользователя Ne_L Ne_L 29 июня 2010 в 11:39

если речь про "Exclude from display" то доступа не будет ( последний пост на первой странице и у меня тоже не получилось), а sql запросом как то не красиво, уверен что есть какие-то более грамотные способы. Если есть хороший мануал по темизации где этот вопрос рассматривается на русском \ английском - также буду признателен.

Аватар пользователя Ne_L Ne_L 3 июля 2010 в 21:06

вообщем поборол!
привожу код темизированного views-view-table.tpl.php - в надежде что кому то пригодится

<table class="<?php print $class; ?>">
  <?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 за то что "пнул" в нужном направлении!