【问题标题】:How do I theme an aggregator category in Drupal 5.x?如何在 Drupal 5.x 中主题化聚合器类别?
【发布时间】:2009-08-27 22:29:13
【问题描述】:

是的,我仍在使用 Drupal 5。别开玩笑了。

我使用聚合器模块创建了一个类别,该类别的 URL 是 www.example.com/aggregator/categories/2。我该如何主题化?它是一个可以使用模板主题的节点,还是我必须使用其他一些过程?

编辑:为了澄清,我想在标题下方添加一些文本,而不仅仅是主题个别聚合器项目。抱歉,我一开始就忽略了。

【问题讨论】:

    标签: drupal themes drupal-5 aggregator


    【解决方案1】:

    看看source(总是有帮助):

    瞧,这是您的主题点(主题覆盖),可以使用模板(或自定义主题功能)进行主题化。

    编辑:使用标准 Drupal 5,主题化/修改标题似乎很困难。再次查看源代码:_aggregator_page_list() 只是连接所有(主题)提要项目,将它们包装在 <div id="aggregator"> 中,并添加寻呼机和提要图标 - 这里没有什么可挂钩的。 _aggregator_page_list() 有一个可选的第三个参数 $header 可以完全满足您的要求 - 不幸的是,此参数不适用于 aggregator/categories/2。所以要在标题中添加一些文本,你必须破解aggregator.module

    或升级到 Drupal 6,它为包装器添加了主题覆盖:

    foreach ($items as $item) {
      $output .= theme('aggregator_item', $item);
    }
    $output = theme('aggregator_wrapper', $output);
    

    编辑结束

    有关如何为 Drupal 5 设置主题,请参阅http://drupal.org/theme-guide/5template.php: Overriding other theme functionsProper theming of aggregator moduletheme() api doc 等。

    祝你好运!

    * 并添加一些类别处理并将所有项目包装到一个或另一个容器中

    【讨论】:

    • 呸,我错过了 theme() 函数调用。我知道我可以使用它来为每个单独的提要项目设置主题,但我想在页面顶部插入一些文本,就在标题下方。有没有办法覆盖 theme_aggregator_page_list 函数来主题化整个页面的输出?
    • 应该是,但显然不是:theme_aggregator_page_list() 似乎从未使用过(在 aggregator.module 中没有对 theme('aggregator_page_list') 的单一调用)。请参阅我的更新答案以了解替代方案。
    猜你喜欢
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多