Вывод меню в блоке в два столбца

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

Аватар пользователя gafar87 gafar87 1 февраля 2012 в 20:53

Всем привет.
Суть вопроса в следующем:

Есть блок в нем находится меню, меню составляется из терминов таксономии и выводится столбиком на главной странице в регионе (в моем случае регион называется highlighted).

Моя цель сделать вывод меню не столбиком а в два столбца.

Пошел следующим путем, решил отказаться от views-ов, панелей и прочих модулей, путем темизации блока.
Создал шаблон block--highlighted.tpl.php

В нем прописал следующий код:

<?php  <h2<?php print $title_attributes?>><?php print $title?></h2>
  <?php endif;?>
  <?php print render($title_suffix); ?>
  <div class="content"  <?php print $content_attributes?>>
    <table>
      <tbody >
        <tr>
          <td ><div> значение 1 </div></td>
          <td><div> значение 2 </div></td>
        </tr>
      </tbody>
    </table>
  </div>
?>

А как сделать вывод контента, чтобы он заносился в стобцы вот так?

Комментарии

Аватар пользователя gafar87 gafar87 1 февраля 2012 в 23:25

Через views не получается, так как меню у меня это блочный эллемент...
Вот что пишет при попытке расставить в сетке

«Встроенные поля будут размещены рядом друг с другом, а не один за другим. Имейте в виду, что блочные поля будут игнорировать эту настройку, в частности, поля содержания и поля, содержащие другой отформатированный HTML.»

Аватар пользователя direqtor direqtor 2 февраля 2012 в 6:50

Для каждого пункта меню задаем float: left; и width: 49%;

Еще можно сделать views и прекрыть шаблон вывода списка элементов.

Аватар пользователя gafar87 gafar87 2 февраля 2012 в 7:59

сетку во вьюсе я сделал, любой эллемент он показывает колонкам. пробовал титлы, тело все работает как надо, а тизеры выводит столбцом и все тут!

Аватар пользователя boneg boneg 2 февраля 2012 в 10:47

"direqtor" wrote:
Для каждого пункта меню задаем float: left; и width: 49%;

Если идти через float - получим два столбца, но расположение будет не то, которое нужно.

Будет:

Аб Ав
Аг бб
бв бг

Автору нужно:

Аб бб
Ав бв
Аг бг

Тут стоит пойти через цикл и создать 2 списка таким образом:

<?php
$count 
round((общее кол-во пунктов ) / 2) + //округляем кол-во пунктов, если их нечетное кол-во - на 1 больше будут в 1-м столбце.

$output '<ul>';
$current 0;

while (

пробегаемся по пунктам) {
$current ++;
$output .= '<li>'.пункт.'</li>';

if (

$current == $count) {
$output .= '</ul><ul>';
$current 0;
}

}

$output '</ul>';

return 

$output;
?>

В общем если топорно, то такой принцип. Так сможем сваять и 5 столбиков, и 8 и т.д. Лучше еще вывести енто theme_item_list. Drupal-Way темизацию никто не отменял.