[РЕШЕНО] Количество блоков

Прислано: Rim

пн, 18/01/2010 - 21:48

Другие статьи по теме:

Возникла задача. Нужно выстроить несколько блоков в одну линию, причем блоки должны занимать все предоставляемое им пространство. Предполагается задавать ширину блока в процентах, но так как количество блоков заранее неизвестно, то и выставить нужные проценты заранее не получится.
Можно было бы написать несколько классов, каждый со своей шириной, затем в зависимости от количеста блоков включать тот или другой класс. Но как узнать сколько блоков имеют status 1?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Rim в пн, 18/01/2010 - 22:56.

Т.е. должно получиться что-то вроде вкладок в браузере опера, когда вкладок много, при добавлении блока они должны стать одинаковой ширины и оба уменьшиться.


Опубликовано volocuga в пн, 18/01/2010 - 23:44.

А если в таблицах сделать? В дивах помоему анриал,если конечно не чекать всякие там status 1


Опубликовано Rim в вт, 19/01/2010 - 00:00.

Такой вариант не подойдет, так уже почти все сделано в дивах.


Опубликовано Rim в вт, 19/01/2010 - 00:10.

И разве в таблицах не тоже самое получится? Нужно будет добавлять новые столбцы. Да и вообще, в дивах как-то интереснее.


Опубликовано Rim в вт, 19/01/2010 - 17:23.

В друпале есть функция theme, она может определить список блоков, которые выводятся в нужный регион, но не пойму как этой функцией воспользоваться через template.php.tpl
Пожалуйста, подскажите.
Или может как-то переменную block_id можно раньше перехватить и подсчитать их сумму?


Опубликовано RxB в вт, 19/01/2010 - 17:38.

в block.tpl.php хватайте её на здоровье


Опубликовано Rim в вт, 19/01/2010 - 18:05.

"RxB" написал(а):

Опубликовано RxB в вт, 19/01/2010 - 17:38.

Новое

в block.tpl.php хватайте её на здоровье

Ну схвачу я ее в block.tpl.php, и что? Для каждого блока она будет своя. Мне нужна только последняя.


Опубликовано Dan в вт, 19/01/2010 - 21:34.

так не подходит -- http://spacecollective.org/projects ?


Опубликовано Rim в ср, 20/01/2010 - 10:37.

Похоже, но там при расширении блока остальные сдвигаются, а при увеличении количества - уменьшается расстояние между ними. В моем случае, при увеличения количества блоков, должны уменьшаться сами блоки.
Все что нужно сделать, это посчитать количество блоков со status 1 в нужном регионе, остальное можно сделать css, неужели в Drupal это сложно сделать?
В нете натыкался только на примеры для жумлы.


Опубликовано Dan в ср, 20/01/2010 - 11:24.

 block.tpl.php, $block_id


Опубликовано Rim в ср, 20/01/2010 - 11:36.

"Dan" написал(а):

Опубликовано Dan в ср, 20/01/2010 - 11:24.

Новое

block.tpl.php, $block_id

Но $block_id, как я понимаю, выводит номер текущего блока. В этом случае нужно получить номер последнего, после чего подключить нужный класс стиля для всех блоков.


Опубликовано Dan в ср, 20/01/2010 - 11:59.

"Rim" написал(а):

Но $block_id, как я понимаю, выводит номер текущего блока.

Да. Сделайте необходимые расчёты в препроцессинге, а класс подключите уже в шаблоне.


Опубликовано Rim в ср, 20/01/2010 - 12:35.

function phptemplate_preprocess_page(&$vars) - этой функцией?
Я не совсем понимаю как это сделать, натолкните, плз, где почитать?


Опубликовано Dan в ср, 20/01/2010 - 13:24.

Попрбуйте получить кол-во блоков в регионе так: count(block_list("имя_региона"));


Опубликовано Rim в ср, 20/01/2010 - 17:57.

"Dan" написал(а):

Попрбуйте получить кол-во блоков в регионе так: count(block_list("имя_региона"));

Попробовал, выводит 0.


Опубликовано Dan в чт, 21/01/2010 - 08:43.

Быть не может. Посмотрите, правльно ли указываете регион.


Опубликовано Rim в чт, 21/01/2010 - 12:51.

Все верно, сори, не тот регион вставил. Огромное спасибо!!! С меня ссылка на drupal.ru :)


Опубликовано Dan в чт, 21/01/2010 - 14:53.

Напишите [РЕШЕНО].


Опубликовано Rim в чт, 21/01/2010 - 21:26.

[РЕШЕНО]


Новое на сайте

Ссылки партнёров