Drupal:如何主题模块

时间:2010-03-23 14:40:03

标签: drupal

我正在尝试主题模块输出。 特别是我正在研究http://drupal.org/project/service_links

知道这有用吗?

提前致谢!

4 个答案:

答案 0 :(得分:3)

通常,如果您想要主题模块,您可以选择几个选项。

  1. 覆盖主题功能。您可以覆盖模块使用/实现的主题函数来更改标记,此类函数的一个示例是theme_service_links_node_format。您在主题的template.php中更改了一个名为'your_theme_name_service_links_node_format'的函数,并在其中自定义标记。

  2. CSS。如果您不需要更改模块输出的实际标记,您只需要添加所需的css,以根据自己的喜好对其进行主题化。

  3. 在某些情况下,它看起来不像sercive链接那样,你也可以制作自己的模板,让Drupal使用它们。

  4. 另一种方式,它看起来不像服务链接就是这样的情况,就是在你的template.php中实现预处理功能。如果要更改某些模板变量的生成方式,则需要这样做。

答案 1 :(得分:3)

如果要实现自己的主题功能,服务链接定义了3个主题。在你的主题中,你应该忽略以下

  • yourtheme_service_links_build_link()
  • yourtheme_service_links_node_format()
  • yourtheme_service_links_node_format()

    'service_links_build_link' => array(
      'arguments' => array(
        'text' => NULL,
        'url' => NULL,
        'title' => NULL,
        'image' => NULL,
        'nodelink' => NULL,
      ),
    ),
    'service_links_node_format' => array(
      'arguments' => array('links' => NULL),
    ),
    'service_links_block_format' => array(
      'arguments' => array('items' => NULL),
    ),
    

查看http://drupalcode.org/viewvc/drupal/contributions/modules/service_links/service_links.module?view=markup第389行及以下

答案 2 :(得分:0)

有什么问题?我的意思是,每个模块都应该为主容器使用不同的名称。您可以巧妙地使用css选择器来引用模板页面。

例如,FAQ模块对html输出的所有部分使用标识符,如主页面中的faq-question和faq-answer。

只需检查生成的代码并css,如果可能的话修改与模块相关的css!

答案 3 :(得分:0)

如果模块实现了自己的主题挂钩,则可以使用它。你也可以使用CSS。