在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 (?)
遗憾的是,没有一个建议的
- block-[module]-[delta].tpl.php
- block-[模块].tpl.php
- block-[区域].tpl.php
放在page.tpl.php旁边(是的,我确实清除了缓存(,有任何影响。即使里面只有一个又大又亮的HELLO世界。。。运气不好。。。
我需要覆盖什么以及如何覆盖?(理想情况下是某种递归函数?(
谢谢!
您可以通过覆盖自己自定义主题中的主题函数和模板来控制所有html输出。阅读文档以了解如何:http://drupal.org/node/341628.
也就是说:如果这真的让你对Drupal感到困扰,你可能想省去自己的头痛,选择一个不同的CMS/框架。Drupal的设计目的是为95%的用例生成具有足够div和类的通用html。可以实现干净和最小化的html,但这可能需要大量时间。
您可以安装devel和主题开发模块。然后你激活主题开发人员,在左下角你可以打开它。在指向块后,你会得到很多信息,哪些模板是userd,或者是生成代码的函数,哪些函数用于命名覆盖。