Подскажите, пожалуйста, как настроить внешний вид отдельно взятого блока?
Вот лежит в папке с моей темой файл block.tpl.php - он определяет, как выглядят все блоки.
А нельзя ли как-то положить туда же файл block-названиеблока.tpl.php в котором будут проставлены другие стили и вообще будет иметь несколько отлитчный от общего дизайн? Я пробовал это сделать, но не работает, наверное, надо какую-то доп.функцию включить в template.php?
p.s. О существовании модуля blocktheme я знаю. Но мне кажется должно быть простое решение, чем создавать отдельную тему и привязывать блок к ней...
Про возможности views для темизации болоков я знаю еще лучше, но views воспользоваться не смогу, поскольку их нельзя темизировать, одновременно использую contemplate.
Комментарии
CSS тоже никто не отменял.
Тоже делал через CSS
Боюсь, вы меня не слышите...
Разумеется настройка внешнего вида в друпале осуществляется преимущественно через css. Зачем мне об этом говорить?
Зачем, по-вашему, вообше существуют модули вроде content template (позволяющие темизировать ноды и отдельные поля) или views (позволяющ.темизировать блоки), зачем создатся дополнительные файлы шаблонов, типа block.tpl.php и проч. если на все уже готов один мудрый ответ:
"CSS никто не отменял"
Вы хоть прочтите, о чем я спрашиваю-то!..
Еще раз:
в некоторых темах оформления я обратил внимание на то, что есть помимо файла block.tpl.php дополнительный файл block-custom.tpl.php
Вопрос: могу ли я создать такого рода файл с названием нужного мне блока, чтоб его внешний вид управлялся уже не файлом block.tpl.php, a соответствующим ему?
Что для этого нужно сделать?
Уж не гневайся, барин, на нас убогеньких, что не успели мы вовремя сбегать на drupal.org и найти тебе, батюшка, решение про блоки-то темизированные...
Может это поможет?
http://www.drupal.ru/node/3584
и вот это
http://www.drupal.ru/node/4763
да, оно не всегда помогает - ведь $block->content приходит уже готовый - по этому проще делать блоки через views - там поля сделанные в cck можно разместить в произвольном порядке.
Я еще так делаю:
<?php
$view_name='taxonomy_products';
$current_view='';
$current_view->args[0]=arg(2);
$view = '';
$view = views_get_view($view_name);
$block='';
$block->subject=t($view->block_title);
$block->content=(views_build_view('block', $view, $current_view->args, false, $view->nodes_per_block));
include "block.tpl.php";
?>
Спасибо, Mr.Dimm!
По ссылке: http://www.drupal.ru/node/3584
именно то, о чем я спрашивал.
А в последнем примере приведенный код куда вставляется? В template.php ?
Насчет темизации при помощи views я уже отметил, что этот способ, ИМО, самый удобный, но если используете модуль contemplate, он неприменим.
- 2 Mr. vadbars:
Вам чувство собственной важности не позволяет даже прочесть и понять, о чем топик. Некое благородное нетерпение помешало вам хотя бы допустить, что автор топика может иметь начатки компьютерной грамотности и мог слышать от московских друзей по секрету о существовании программы дримвивер..
В page.tpl.php или в node.tpl.php или block-my.tpl.php - куда хотите.
По-моему вы сейчас спорите с кем-то другим, чей образ мешает вам увидеть реального человека.
Разве данная мною выше ссылка на drupal.org не отвечает на ваш вопрос "А нельзя ли как-то положить туда же файл block-названиеблока.tpl.php в котором будут проставлены другие стили и вообще будет иметь несколько отлитчный от общего дизайн?" Там конкретно перечислены имена и порядок просмотра имен темплейтов для оформления блоков:
block-[module]-[delta].tpl.php
block-[module].tpl.php
block-[region].tpl.php
block.tpl.php
For example, the user login block has a delta of '0'. If you put it in the left sidebar, when it's rendered, PHPTemplate will search for the following templates in descending order:
block-user-0.tpl.php
block-user.tpl.php
block-left.tpl.php
block.tpl.php
Причем здесь какие-то личностные претензии?
Никаких претензий, вы просто не понимаете моего черного юмора.
За ссылку спасибо.