Приветствую!
Уже битый час бьюсь с темизацией блока, никак не могу подобрать правильное имя шаблона. Имеется блок меню, чтобы сразу было понятнее: module = menu, delta = menu-left-menu
И чтобы ещё понятнее: <div id="block-menu-menu-left-menu" class="block block-menu">
Прописываю block--menu--menu-left-menu.tpl.php, всё по стандартам — block--[region|[module|--delta]].tpl.php, и ничего не выходит.
К примеру с module = block, delta = 2 и т.п. никаких проблем, пишу block--block--2.tpl.php и всё работает, а тут такая неприятность, подскажите пожалуйста как правильно.
Комментарии
1. devel_themer module (не знаю правда есть ли он для 7)
2. в 6-ке если шаблон использовал -[region]-, то обязан присутсвовать базвовый шаблон региона [region].tpl.php
1. Если я не ошибаюсь, то он теперь является частью модуля devel, который я поставил и кроме реестра функций оформления, от которого никакого толку относительно данной проблемы, ничего не нашёл (для тех кто нашёл ещё что-нибудь, прошу отписаться).
2. Я создал block--menu.tpl.php, block--sidebar_first.tpl.php, но block--menu--menu-left-menu.tpl.php всё-равно не работает.
Devel Themer очпочковался в отдельный проект о чём и написано на странице модуля Devel
Вы правы, строчку на странице модуля: «Note: theme developer module has moved» я благополучно упустил. Спасибо.
UPD: Поставил, штука полезная. Посмотрел что советует в качестве названий шаблонов: block__menu__menu-left-menu < block__menu < block__sidebar_first < sites/all/themes/rikona/templates/block.tpl.php
Ничего нового к сожалению не узнал, block--menu--menu-left-menu.tpl.php не работает. Не знаете в чём может быть причина?
Кеш, надеюсь, сбрасываете?
Обижаете) Само собой, но шаблон всё-равно игнорируется
Создал region.tpl.php и region--sidebar_first.tpl.php, бестолку.
Итого у меня в папке: region.tpl.php, region--sidebar_first.tpl.php, block.tpl.php, block--sidebar_first.tpl.php, block--menu.tpl.php, block--menu--menu-left-menu.tpl.php. При этом block--menu--menu-left-menu.tpl.php не работает, а вместо него используется block--menu.tpl.php.
модуль там system вообще-то
оно конечно не логично, но видно же, что классы генерируются именно так
Незнаю как у вас, но у меня классы генерируются вот так
<div id="block-menu-menu-left-menu" class="block block-menu">
, как и было указано в шапке темы. Какие тут module и delta повторяться не буду, опять же шапка темы.http://writer.webz.com.ua/
drupal 7
<div id="block-system-main-menu" class="block block-system block-menu clearfix">
http://domiki.on-check.ru/
drupal 7.2
<nav id="block-system-main-menu" class="block block-system block-menu clearfix">
system - это имя модуля, я в препроцессор заталкивал отладочный вывод, а вы, похоже, только гадаете
Punk_UnDeaD, вы меня наверное не слышите, я описываю свою ситуацию, тыкаю вас носом в свой листинг, а вы заявляете что он не такой как описано в документации. Я очень рад за вас. То что у вас всё по документации это шикарно. Но это не имеет никакого отношения к проблеме. Внимательно читайте посты.
Уважаемый, каким образом по вашему у я сменил тег у блока?
Может быть в файле block--system.tpl.php?
$vars['title_attributes_array']['class'][] = 'title';
$vars['classes_array'][] = 'clearfix';
// $vars['theme_hook_suggestions'][] = 'block__' . $vars['block']->module;
// print_r($vars['theme_hook_suggestions']);
}
Смотрите уже иногда в отладочный вывод.
Поясню если вдруг кому понадобится...
Если delta = main-menu, module = menu, то файл шаблона должен называться block--menu--menu_main_menu.tpl.php
Просто друпал ко всем блокам меню в идентификаторе зачем-то добавляет в начале menu_
Также обращаю внимание, что дефис в идентификаторе заменяется на _
Как-то так.