[РЕШЕНО] Количество блоков
Прислано: Rim
пн, 18/01/2010 - 21:48
Возникла задача. Нужно выстроить несколько блоков в одну линию, причем блоки должны занимать все предоставляемое им пространство. Предполагается задавать ширину блока в процентах, но так как количество блоков заранее неизвестно, то и выставить нужные проценты заранее не получится.
Можно было бы написать несколько классов, каждый со своей шириной, затем в зависимости от количеста блоков включать тот или другой класс. Но как узнать сколько блоков имеют status 1?
- Rim's blog
- Для комментирования войдите или зарегистрируйтесь
Т.е. должно получиться что-то вроде вкладок в браузере опера, когда вкладок много, при добавлении блока они должны стать одинаковой ширины и оба уменьшиться.
- Для комментирования войдите или зарегистрируйтесь
А если в таблицах сделать? В дивах помоему анриал,если конечно не чекать всякие там status 1
- Для комментирования войдите или зарегистрируйтесь
Такой вариант не подойдет, так уже почти все сделано в дивах.
- Для комментирования войдите или зарегистрируйтесь
И разве в таблицах не тоже самое получится? Нужно будет добавлять новые столбцы. Да и вообще, в дивах как-то интереснее.
- Для комментирования войдите или зарегистрируйтесь
В друпале есть функция theme, она может определить список блоков, которые выводятся в нужный регион, но не пойму как этой функцией воспользоваться через template.php.tpl
Пожалуйста, подскажите.
Или может как-то переменную block_id можно раньше перехватить и подсчитать их сумму?
- Для комментирования войдите или зарегистрируйтесь
в block.tpl.php хватайте её на здоровье
- Для комментирования войдите или зарегистрируйтесь
Опубликовано RxB в вт, 19/01/2010 - 17:38.
Новое
в block.tpl.php хватайте её на здоровье
Ну схвачу я ее в block.tpl.php, и что? Для каждого блока она будет своя. Мне нужна только последняя.
- Для комментирования войдите или зарегистрируйтесь
так не подходит -- http://spacecollective.org/projects ?
- Для комментирования войдите или зарегистрируйтесь
Похоже, но там при расширении блока остальные сдвигаются, а при увеличении количества - уменьшается расстояние между ними. В моем случае, при увеличения количества блоков, должны уменьшаться сами блоки.
Все что нужно сделать, это посчитать количество блоков со status 1 в нужном регионе, остальное можно сделать css, неужели в Drupal это сложно сделать?
В нете натыкался только на примеры для жумлы.
- Для комментирования войдите или зарегистрируйтесь
block.tpl.php, $block_id
- Для комментирования войдите или зарегистрируйтесь
Опубликовано Dan в ср, 20/01/2010 - 11:24.
Новое
block.tpl.php, $block_id
Но $block_id, как я понимаю, выводит номер текущего блока. В этом случае нужно получить номер последнего, после чего подключить нужный класс стиля для всех блоков.
- Для комментирования войдите или зарегистрируйтесь
Но $block_id, как я понимаю, выводит номер текущего блока.
Да. Сделайте необходимые расчёты в препроцессинге, а класс подключите уже в шаблоне.
- Для комментирования войдите или зарегистрируйтесь
function phptemplate_preprocess_page(&$vars) - этой функцией?
Я не совсем понимаю как это сделать, натолкните, плз, где почитать?
- Для комментирования войдите или зарегистрируйтесь
Попрбуйте получить кол-во блоков в регионе так: count(block_list("имя_региона"));
- Для комментирования войдите или зарегистрируйтесь
Попрбуйте получить кол-во блоков в регионе так: count(block_list("имя_региона"));
Попробовал, выводит 0.
- Для комментирования войдите или зарегистрируйтесь
Быть не может. Посмотрите, правльно ли указываете регион.
- Для комментирования войдите или зарегистрируйтесь
Все верно, сори, не тот регион вставил. Огромное спасибо!!! С меня ссылка на drupal.ru :)
- Для комментирования войдите или зарегистрируйтесь
Напишите [РЕШЕНО].
- Для комментирования войдите или зарегистрируйтесь
[РЕШЕНО]
- Для комментирования войдите или зарегистрируйтесь


Комментарии