Вопрос по уроку
тема: http://drupal.org/project/wilderness
Как изменить дизайн содержимого в регионах?
поиски как это сделать в page.tpl.php не увенчались успехом. Каким образом для региона "меню" срабатывают стили "artmenu" а если тоже самое прописать в файле page.tpl.php для другого списка, к примеру через <div> то он корректно не срабатывает, а именно пропадают пункты меню. И что это за аномалия, когда стираешь тэг <div> и выводишь просто <?php echo $navigation; ?> то всеравно сохраняются, пускай и не полностью стили верстки?
приложение:
Посмотрите файл block.tpl.php, через него выводятся блоки в друпале, если его нет, то скопируйте его в папку темы. Но думаю он там будет потому что имена классов не стандартные. Переопределить css стили несложно, добавьте к уже существующим стилям еще один id, например:
.sidebar-first .block{ background: #eeeeee; }
А вам допустим бекграунд не нужен, тогда добавляем id блока:
.sidebar-first #block-block-3.block{ background: none; }
И так со всеми остальными нужными стилями.
Я попробовал, но я не могу понять как для
<?php echo $navigation; ?>
который прописан в page.tpl.php , был добавлен div "artmenu" , причем не в page.tpl.php ни в block.tpl.php нету этого дива.
Стиль практически весь у обьекта сохраняется и только, после того как я изменяю
$replacement = 'class="artmenu"'; в файле common_medthods.tpl.php
на
$replacement = 'class="AAAartmenu"';
только тогда переставал работать стиль artmenu
Вот содержимое block.tpl.php:
<?php // $Id $ ?>
<div class="Block">
<div class="Block-tl"></div>
<div class="Block-tr"></div>
<div class="Block-bl"></div>
<div class="Block-br"></div>
<div class="Block-tc"></div>
<div class="Block-bc"></div>
<div class="Block-cl"></div>
<div class="Block-cr"></div>
<div class="Block-cc"></div>
<div class="Block-body">
<?php if ($block->subject): ?>
<div class="BlockHeader">
<div class="l"></div>
<div class="r"></div>
<div class="header-tag-icon">
<div class="t">
<?php echo $block->subject; ?>
</div>
</div>
</div>
<?php endif; ?>
<div class="BlockContent">
<div class="BlockContent-body">
<?php echo $block->content; ?>
</div>
</div>
</div>
</div>
Ну бог с ним с этим дивом, он же вам не может помешать переписать его css. Вам главное что выведен блок и его содержимое. А про common_methods.tpl.php это какой-то кастомный шаблон.
В файле page.tpl.php всего лишь одна строчка <?php echo $top ?> а на выходе она выдает целую кучу div -в и классов, которые обращаются к таблице стилей.
Вопрос: как мне поменять отдельный регион а именно стиль его содержимого.
Ну бог с ним с этим дивом, он же вам не может помешать переписать его css.
Мне получается всю эту кучу div -ов закрутить в отдельный div, или вы имеете ввиду работу с файлом block.tpl.php ??
Эти два блока, что выделены красным имеют одинаковый класс <div class="Block-body"> прописанный в block.tpl.php я не совсем понимаю, что именно нужно менять в этом файле.
Вот пример того как можно разные блоки по разному выводить:
<?php switch ($block->delta){ case 'primary-links': print $block->content; break; case 'view_banner_company-block_1': print $block->content; break; case 'd6be7a6a589be10579571491ec79a1d9'; //portfolio banner print $block->content; break; case 'view_banner_company_en-block_1'; print $block->content; break; case '59c5e3d1d0ba37c90a9e3a56067e8da8'; //portfolio print $block->content; break; default: ?> <div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="clear-block block block-<?php print $block->module ?>"> <?php if (!empty($block->subject)): ?> <h2><?php print $block->subject ?></h2> <?php endif;?> <div class="content"><?php print $block->content ?></div> </div> <?php } ?>
Спасибо за подробный ответ, попробую разобраться в коде