我是Drupal的新手。据我所知,Drupal(在我的情况下为7)页面通常会在块,区域,区域等周围有多层包装器......我想要实现的是将一些任意内容直接呈现到"体"没有任何包装器开销,同时将所有内容保留在" head"中。我研究过hook_block_list_alter,它允许你在渲染之前排除块 - 它不能提供定制(删除)部分的能力。然后我遇到了hook_page_alter看起来是一个很好的方法,虽然我还没有挖得太深,仍然试图理解$ page对象的结构。我想到了其他选项,例如在请求的页面网址处于特定模式时使用上下文模块配置节/区域。
什么" Drupal的方式"这样做?
答案 0 :(得分:1)
我建议您首先尝试使用Drupal的模板系统然后,如果您无法尝试使用钩子尝试:
https://www.drupal.org/node/337173
所以,正如你所提到的,drupal的图层模板包裹着另一个。最外面的一个是html.tpl.php,如果你想在页面头部出现一些东西就把它放在那里。然后,第二个内部模板是页面模板,对于任何内容(节点)类型可以是不同的。但是你也有块模板,字段模板......
要覆盖特定内容类型或字段或其他内容的模板,Drupal有一些特殊的命名约定。因此,如果您以某种特定方式命名模板(并清除缓存!),drupal将在特定情况下开始使用它。
查看文档以获取更多详细信息。