Замена заголовка блока на картинку с текстом

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

Аватар пользователя dors dors 10 мая 2012 в 13:12

Добрый день.

Помогите, пожалуйста, с подменой заголовка в блоке (также и заголовка quicktabs) на картинку с текстом.

Вычитал на форуме, что для замены заголовка блока нужно пользоваться модулем Block_Class (Позволяет назначат CSS классы блокам).
Сделал изменения в block.tpl.php темы, как описано тут http://drupal.org/project/block_class и создал класс в style.css темы:
.my_style {
background: url(/path-to-file) no-repeat;
padding: 0 0 0 40px;
z-index: 1;
}

Далее в модуле задаю класс, но он отображается за стандартным заголовком блока с его фоном.
Как убрать стандартный заголовок блока и заменить его на картинку с выводом нужного текста?

Комментарии

Аватар пользователя t1mm1 t1mm1 10 мая 2012 в 13:49

вообще не понятно из написанного..

1. попробуйте в шаблонах темы создать шаблон для конкретного блока по его ID и мучать его как угодно, прописывая классы, теги и прочие рюшки
2. в стилях поставвьте напротив определения фона !important
вот так background: url(/path-to-file) no-repeat !important;
но это не лучшее решение.
лучшее - разобраться в том, как формируются шаблоны и использовать их.

Аватар пользователя dors dors 10 мая 2012 в 15:57

Вроде понятно описал ситуацию...

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

t1mm1, спасибо за совет, но это решение (использовать для каждого блока свой шаблон tpl по его ID) не подойдёт - поэтому я и установил модуль Block_Class, чтобы всё делать через CSS.

P.S. использование !important не помогло Sad

Аватар пользователя erbe erbe 10 мая 2012 в 16:25

Картинка одна и та же будет для всех блоков или меняться? В чем суть модуля? Проще же в css темы изменить стиль заголовка блока.

Аватар пользователя dors dors 10 мая 2012 в 16:42

erbe wrote:
Картинка одна и та же будет для всех блоков или меняться? В чем суть модуля? Проще же в css темы изменить стиль заголовка блока.

Да, для каждого блока своя картинка.

Аватар пользователя erbe erbe 10 мая 2012 в 18:02

Во что оборачивается заголовок блока в block.tpl.php? Думаю, надо в стилях написать что-то типа
.my_style h2{
background: url(/path-to-file) no-repeat;
padding: 0 0 0 40px;
}
Либо подключить стиль, заданный конкретно для h2 в блоке.

Аватар пользователя dors dors 10 мая 2012 в 19:32

erbe wrote:
Во что оборачивается заголовок блока в block.tpl.php?

Не понял вопроса. Вот конкретный пример: страница http://footballarchive.ru/international/euro постоена с помощью quicktabs, соответственно и заголовок блока как у обычного блока. С помощью Block_class я добавляю стиль CSS "euro". Далее смотрим что получилось с помощью firebug - видим, что добавился класс "euro" , у которого прописан background в виде картинки

<div id="block-quicktabs-euro" class="block block-quicktabs region-odd odd region-count-1 count-3 euro">
<div class="block-wrapper">
<h2 class="title">
<span>Чемпионат Европы</span>
</h2>
<div class="content">
</div>
</div>

но на деле картинка не выводится - всё по-старому.

Аватар пользователя erbe erbe 10 мая 2012 в 22:11

"dors" wrote:
Во что оборачивается заголовок блока в block.tpl.php?

Это имелось ввиду.

<h2 class="title">
<span>Чемпионат Европы</span>
</h2>

Может дело в картинке и ее размерах? Вроде ж подхватывает стиль h2 background.
Можно еще задать стили для .euro .title{...}

Аватар пользователя dors dors 11 мая 2012 в 17:15

erbe wrote:

<h2 class="title">
<span>Чемпионат Европы</span>
</h2>

Может дело в картинке и ее размерах? Вроде ж подхватывает стиль h2 background.
Можно еще задать стили для .euro .title{...}


Не, не помогло. Пишу .block . euro {} - все подхватывает, только background от euro зачеркнут (не применим), т.к. в title уже стоит background...

Аватар пользователя dors dors 12 мая 2012 в 16:17

erbe wrote:
Картинку надо уменьшить до размеров высоты заголовка, она просто не помещается, не видно ее.

Да, действительно уменьшил картинку и всё заработало Smile

Правда ещё пришлось в block.tpl.php довавить ссылку на мой стиль:

<?php if ($block->subject): ?>
      <h2 class="<?php print block_class($block);?> title"><span><?php print $block->subject; ?></span></h2>
    <?php endif; ?>

Но и без этого, скорее всего, можно обойтись если ещё поиграться со стилями.

Тему считаю закрытой.
Всем спасибо за помощь.