Вывод Views Grid (Сетка) div'ами

Делаем сетку вьюсов на дивах.

20.04.2013
3 комментария
2 мин.

Формат вывода Views Grid по дефолту выводит сетку таблицей. Когда я решил сделать себе вывод в два столбца, я прибегнул к этому методу, но я не фанат таблиц и не видел критической необходимости в использовании оных в данном случае. Решение оказалось достаточно простое. Берем файлик view-view-grid.tpl.php из модуля views и немного редактируем его под div'ы. (не забываем создать копию в своей теме перед редактированием)

view-view-grid.tpl.php
<?php
/**
 * @file
 * Вывод grid div'ами.
 */
?>
<?php if (!empty($title)) : ?>
  <h3><?php print $title; ?></h3>
<?php endif; ?>
<div class="<?php print $class; ?>"<?php print $attributes; ?>>
    <?php foreach ($rows as $row_number => $columns): ?>
      <div <?php if ($row_classes[$row_number]) { print 'class="row ' . $row_classes[$row_number] .'"';  } ?>>
        <?php foreach ($columns as $column_number => $item): ?>
          <div <?php if ($column_classes[$row_number][$column_number]) { print 'class="col ' . $column_classes[$row_number][$column_number] .'"';  } ?>>
          <?php if ($item): ?>  
            <?php print $item; ?>
          <?php endif; ?>           
          </div>
        <?php endforeach; ?>
      </div>
    <?php endforeach; ?>
</div>

После этого останется только поработать CSS.

Прикрепленные файлы
views-view-grid.tpl.php — views-view-grid.tpl_.php_.zip, 499 байт
Drupal
Drupal 7
Views

Комментарии

Андрей   вс, 23/02/2014 - 12:30

А те кто не любит или не знает как переопределять *.tpl.php шаблоны могут воспользоваться модулем Views Responsive Grid

Это плагин для Views который позволяет выводить сетку дивами. Остается только css написать.

Niklan   вс, 23/02/2014 - 13:58

Так ведь кто не любит\не умеет переопределять могут скачать вложение. Оно универсально.

ScentTiger   пн, 26/05/2014 - 16:56

Извиняюсь за глупый вопрос, куда и где менять css для темизации Views, в частности того что вы предложили.
 

Добавить комментарий

Поддерживает синтаксис CommonMark.