По-умолчанию breadcrumb в Омеге находятся в zone-content, что не совсем удобно для юзера. Точнее говоря, проблема не заметна, если левый сайдбар пустой, и становится очевидной, если в нем разместить какие-нибудь блоки. Эта статья расскажет о том, как перенести крошки в вашей субтеме, сделанной из стартеркита Омеги. Допустим, она (субтема) носит название yousubtheme.
Итак, чтобы перенести «крошки», следует выполнить всего несколько шагов:
1. Переносим дефолтные файлы zone--content.tpl.php и region--content.tpl.php в директорию /templates.
2. Из файла zone--content.tpl.php вырезаем код
и переносим его в файл region--content.tpl.php
В zone--content.tpl.php остается код:
3. При этом region--content.tpl.php приобретает следующий вид:
4. Затем в файл template.php добавляем код:
5. После чего в субтеме создаем директорию и файл preprocess/preprocess-region.inc
и вставляем в него код
6. Важно! Не забудьте поменять yousubtheme на название вашей субтемы.
7. Смотрим результат.
8. Если вы занимаетесь скрещиванием Omega + Bootstrap по рецепту habrahabr.ru/post/172585, то эффективнее будет проделать все манипуляции не в финальной субтеме, а в omega_bootstrap.
9. Также благодарности:
www.webbykat.com/2012/09/moving-breadcrumbs-zone-content-region-content-omega-drupal-7
friendlymachine.net/posts/drupal-7-theming-practical-example
Итак, чтобы перенести «крошки», следует выполнить всего несколько шагов:
1. Переносим дефолтные файлы zone--content.tpl.php и region--content.tpl.php в директорию /templates.
2. Из файла zone--content.tpl.php вырезаем код
<?php if ($breadcrumb): ?>
<?php print $breadcrumb; ?>
<?php endif; ?>
и переносим его в файл region--content.tpl.php
В zone--content.tpl.php остается код:
<?php if ($wrapper): ?><div<?php print $attributes; ?>><?php endif; ?>
<div<?php print $content_attributes; ?>>
<?php print $content; ?>
</div>
<?php if ($wrapper): ?></div><?php endif; ?>
3. При этом region--content.tpl.php приобретает следующий вид:
<div<?php print $attributes; ?>>
<div<?php print $content_attributes; ?>>
<?php if ($breadcrumb): ?>
<div id="breadcrumb" class="block"><?php print $breadcrumb; ?></div>
<?php endif; ?>
<a id="main-content"></a>
<?php print render($title_prefix); ?>
<?php if ($title): ?>
<?php if ($title_hidden): ?><div class="element-invisible"><?php endif; ?>
<h1 class="title" id="page-title"><?php print $title; ?></h1>
<?php if ($title_hidden): ?></div><?php endif; ?>
<?php endif; ?>
<?php print render($title_suffix); ?>
<?php if ($tabs && !empty($tabs['#primary'])): ?><div class="tabs clearfix"><?php print render($tabs); ?></div><?php endif; ?>
<?php if ($action_links): ?><ul class="action-links"><?php print render($action_links); ?></ul><?php endif; ?>
<?php print $content; ?>
<?php if ($feed_icons): ?><div class="feed-icon clearfix"><?php print $feed_icons; ?></div><?php endif; ?>
</div>
</div>
4. Затем в файл template.php добавляем код:
function yousubtheme_alpha_preprocess_region(&$vars) {
$theme = alpha_get_theme();
if ($vars['elements']['#region'] == 'content') {
$vars['breadcrumb'] = $theme->page['breadcrumb'];
}
}
5. После чего в субтеме создаем директорию и файл preprocess/preprocess-region.inc
и вставляем в него код
function yousubtheme_alpha_preprocess_region(&$vars) {
$theme = alpha_get_theme();
if ($vars['elements']['#region'] == 'content') {
$vars['breadcrumb'] = $theme->page['breadcrumb'];
}
}
6. Важно! Не забудьте поменять yousubtheme на название вашей субтемы.
7. Смотрим результат.
8. Если вы занимаетесь скрещиванием Omega + Bootstrap по рецепту habrahabr.ru/post/172585, то эффективнее будет проделать все манипуляции не в финальной субтеме, а в omega_bootstrap.
9. Также благодарности:
www.webbykat.com/2012/09/moving-breadcrumbs-zone-content-region-content-omega-drupal-7
friendlymachine.net/posts/drupal-7-theming-practical-example