Дано: Некоторые ноды по замыслу дизайнера открываются во всплывающем iframe, что реализовано про помощи lightbox2. И всё бы хорошо, но в них зачем-то открывается toolbar. Если тулбар запретить показывать путем назначения ему через css display:none - остается огромная дырка, будто этот тулбар всё ещё там. Причем поскольку этот паддинг прописывается самим скриптом лайтбокса, css'ом его не перекроешь. Если назначить содержимому лайтбокса отрицательное поле вверху - то начинаются совсем чудеса. То всё отображается нормально, то содержимое уезжает вверх. Судя по всему это связано всё с тем же генерированием паддинга через скрипт.
Если toolbar вообще отключить - всё становится прекрасно. Но подвох в том, что он мне в общем то нравится и отключать его не желательно.
Теперь внимание вопрос! Можно ли отключить тулбар конкретно на страницах, которые демонстрируются в лайтбоксе?
Комментарии
Скорей всего надо будет сказать тулбару чтоб он не отображался на конкретных страницах.
Логично. А как ему это сказать так, чтобы он меня понял?
если не получится хуками-то смотреть код модуля.
В общем пока я выключила тулбар и поставила вместо него administration menu (без "улучшений"). Если его css-ом вырубить - всё хорошо и красиво. Если вдруг кто найдет лучшее решение, буду счастлива послушать.
В /modules/toolbar/toolbar.tpl.php напиши
<?php
<?
$p=request_uri();
$pages=array('/node/12','/node/466');//и т.д. запрещенные страницы
if(!in_array($p,$pages)){
?>
<div id="toolbar" class="<?php print $classes; ?> clearfix">
<div class="toolbar-menu clearfix">
<?php print render($toolbar['toolbar_home']); ?>
<?php print render($toolbar['toolbar_user']); ?>
<?php print render($toolbar['toolbar_menu']); ?>
<?php if ($toolbar['toolbar_drawer']):?>
<?php print render($toolbar['toolbar_toggle']); ?>
<?php endif; ?>
</div>
<div class="<?php echo $toolbar['toolbar_drawer_classes']; ?>">
<?php print render($toolbar['toolbar_drawer']); ?>
</div>
</div>
<?
}
?>
Большое спасибо! )
Улучшенный и дополненный вариант - с учетом того, что адреса страниц для лайтбокса кончаются на "/lightbox2"
<?php$p=request_uri();
if(!substr_count($p, '/lightbox2')):
?>
<div id="toolbar" class="<?php print $classes; ?> clearfix">
<div class="toolbar-menu clearfix">
<?php print render($toolbar['toolbar_home']); ?>
<?php print render($toolbar['toolbar_user']); ?>
<?php print render($toolbar['toolbar_menu']); ?>
<?php if ($toolbar['toolbar_drawer']):?>
<?php print render($toolbar['toolbar_toggle']); ?>
<?php endif; ?>
</div>
<div class="<?php echo $toolbar['toolbar_drawer_classes']; ?>">
<?php print render($toolbar['toolbar_drawer']); ?>
</div>
</div>
<?
endif;
?>
Я кроме css toolbar display:none просто добавил height:0. работает.
У меня вот другая проблем, может кто знает: как сделать так, чтобы ссылки в тексте расположенном в лайтбоксе открывались в обычном окне? Естественно лайтбокс при этом должен закрываться.