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

Прислано: dm66

вт, 05/12/2006 - 06:50

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

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Shedko в вт, 05/12/2006 - 11: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 в вт, 05/12/2006 - 15: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.


Опубликовано firefoxxx в вт, 26/08/2008 - 12:08.

а я имя модуля вообще оставляю пустым,всё равно подключает шаблон


Новое на сайте