Как сделать отдешьный шаблон для определенного блока?

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

Аватар пользователя dm66 dm66 5 декабря 2006 в 9:50

Задача:
Сделать блок, генерируемый модулем views, и сделать для отдельно этого блока специальный шаблон. (Дабы информация не в стобик а в линейку показывалась). Что-то пока никак не пойму как надо назвать файл шаблона для конкретного блока и как сделать так, чтобы этот шаблон подцеплялся.

Комментарии

Аватар пользователя Shedko Shedko 5 декабря 2006 в 14:05

Открываем файл: block.tpl.php из папки нашей темы

и в самом начале, перед тем что там уже есть, пишем

<?php
if ( $block->module == 'ИМЯ_БЛОКА' )  {
                $send = "themes/ВАША_ТЕМА/block-menu.tpl.php";
                include($send);
                return; }
?>

т.е. вместо ИМЯ_БЛОКА подставляем имя блока, которое видем в списке блоков, (admin/blocks)
вместо ВАША_ТЕМА - название вашей темы, например bluemarine
а block-menu.tpl.php - файл шаблон нашего нового блока.
а затем уж создаем файл "block-menu.tpl.php" и в него вводим новый шаблон, по умолчанию он таков

<div class="rc_section" style="border-top: 0px;">
    <p class="rc_title"><?php print $block->subject; ?></p>
    <div><?php print $block->content; ?></div>
 </div>

меняем его так как нам надо.

Аватар пользователя dm66 dm66 5 декабря 2006 в 18:03

Спасибо за подробный ответ, разобрался.
ВОт только
if ( $block->module == 'ИМЯ_БЛОКА' )
на место ИМЯ БЛОКА нужно подставлять не его название а название модуля его сгенерировавшего, в моем случае views.
По другому не работает.
Вот что нашел на drupal.org

$block (object)
$block->module : The name of the module that generated the block.
$block->delta : The number of the block, in the module.
$block->subject : The block title.
$block->content : The html content for the block.
$block->status : Status of block (0, or 1).
$block->path : The path that matches whether or not a block is displayed.
$block->region : Left (0), or Right(1) column.
$block->throttle: Throttle setting.
$seqid : The sequential id of the block displayed, ie: The first block is 1, the second block is 2 etc.
$block_seqid : The same as $seqid, but is reset for the left and right sidebars.
$zebra : Wether or not the block is odd , or even. This is useful for creating 'zebra stripes' with your css. This value will be either 'odd', or 'even'.
$block_zebra : The same as $zebra, but is reset for the left and right sidebars.