首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用theme()和theme_links()输出链接HTML有什么不同?

使用theme()和theme_links()输出链接HTML有什么不同?
EN

Stack Overflow用户
提问于 2010-04-15 00:16:38
回答 2查看 541关注 0票数 1

使用下面两个选项输出链接HTML有什么不同?

代码语言:javascript
复制
theme('links', $primary_links, array('class' => 'links primary-links'))

theme_links($primary_links, $attributes = array('class' => 'links primary-links'))

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-15 00:52:04

在没有任何模板定制的默认Drupal安装上,它们将输出相同的内容。

但是,theme()函数本质上是Drupal中的主题系统的包装器。通过传递' links‘作为第一个参数,您告诉Drupal查找链接主题,无论这是一个函数还是模板。在本例中,主题是一个被调用的函数(theme_links())。

如果您想要对主题进行更改,可以通过覆盖它来实现。例如,您可以创建函数myTheme_links()并让它覆盖默认的theme_links()。如果直接调用函数theme_links(),则必须将此代码更改为适当的主题函数。但是,如果您使用theme()函数,则不会有任何额外的更改,因为此函数知道主题何时被覆盖并采取适当的操作。简而言之,对于将来的代码校对来说,使用theme()函数是更灵活的解决方案,并且可以考虑使用Drupal的方式。

有关主题的更多信息,请查看Drupal's theme documentation

票数 4
EN

Stack Overflow用户

发布于 2010-04-15 02:29:45

简短的版本是:

如果使用theme_links(),则不能使用my_theme_links命名约定覆盖主题中主题函数,因为需要直接调用它。

如果您改用theme('links'),drupal将根据优先级确定使用哪个可能的主题函数。这就是为什么Drupal及其主题化系统如此灵活的原因之一。一切都可以被覆盖。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2639082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档