Drupal6: Как программно оформить блок?
В Drupal6 у меня в основном есть блок (иерархическая структура меню), который в HTML выглядит следующим образом:
<div class="block block-menu_block" id="block-menu_block-1">
<div class="content">
<div class="menu-block-1 menu-name-menu-navigation parent-mlid-0 menu-level-1">
<ul class="menu">
<li class="leaf first menu-mlid-248 active active-trail"><a class="active-trail active" title="" href="/">Start</a></li>
<li class="expanded menu-mlid-249 active"><a class="active" title="" href="/">Aktuell</a>
<ul class="menu">
<li class="leaf first menu-mlid-259">
<a title="News und Presse" href="/news-und-presse">News and Press</a>
</li>...
То, что я хотел бы получить, на самом деле намного проще:
<div id="topmenu">
<ul class="one">
<li>some main entry
<ul>
<li>
some sub entry ...
или, может быть:
<div id="topmenu">
<h2>some main entry</h2>
<h3><a href="#">some sub entry</a></h3>
<h3><a href="#">another sub entry</a></h3>
<h2>another main entry</h2>
Таким образом, сохраняя структуру, но имея возможность использовать более простые, даже совершенно разные теги, если и когда это необходимо. Я думаю, что я понимаю из документации Drupal, что я (возможно) смотрю на
<div class="block block-menu_block"
id="block-menu_block-1"
==> module := menu_block
delta := 1 (?)
к сожалению, ни один из предложенных
- блок-[Модуль]-[дельта].tpl.php
- блок-[модуль].tpl.php
- блок-[область].tpl.php
Помещенный рядом с page.tpl.php (да, я действительно очистил кеш), оказывает влияние. Даже с большим блестящим HELLO WORLD внутри... не повезло...
Что мне нужно переопределить и как? (в идеале какая-то рекурсивная функция?)
Спасибо!
2 ответа
Вы можете контролировать весь вывод html, переопределяя функции и шаблоны темы в своей собственной теме. Прочитайте документацию, чтобы узнать, как: http://drupal.org/node/341628.
Тем не менее, если это действительно беспокоит вас о Drupal, вы можете избавить себя от головной боли и выбрать другую CMS/framework. Drupal предназначен для создания универсального html с достаточным количеством div и классов для 95% случаев использования. Чистый и минимальный HTML может быть достигнут, но это может занять много времени.
Вы можете установить модуль разработки и разработки тем. Затем вы активируете тему разработчика и в левом нижнем углу можете включить его. после указания на ваш блок вы получаете много информации о том, какие шаблоны используются пользователем или какие функции генерируют код, какие функции использовать для именования перезаписи.