Drupal6:如何以编程方式设置块的样式?

时间:2011-06-30 14:57:00

标签: drupal drupal-6 drupal-blocks drupal-templates drupal-navigation

在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 docs了解到,我(也许)正在看

<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 个答案:

答案 0 :(得分:1)

您可以通过覆盖自定义主题中的主题功能和模板来控制所有html输出。阅读文档以了解如何:http://drupal.org/node/341628

那就是说:如果这真的困扰你关于Drupal,你可能想让自己头疼并选择一个不同的CMS /框架。 Drupal旨在为95%的用例生成具有足够div和类的通用html。可以完成干净且最小的html,但这可能需要很长时间。

答案 1 :(得分:0)

您可以安装devel和主题开发者模块。然后你激活主题开发人员,在左下角你可以打开它。在指向您的块之后,您将获得有关用户模板的信息,或者是否是生成代码的函数,这些函数用于命名覆盖。