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 может быть достигнут, но это может занять много времени.

Вы можете установить модуль разработки и разработки тем. Затем вы активируете тему разработчика и в левом нижнем углу можете включить его. после указания на ваш блок вы получаете много информации о том, какие шаблоны используются пользователем или какие функции генерируют код, какие функции использовать для именования перезаписи.

Другие вопросы по тегам