1

尝试在 drupal 7 中声明一个简单函数时遇到一个奇怪的错误。我在模板文件的顶部声明一个函数(我知道,通常是不,但我需要快速获取这些模板,没有时间立即为这些功能开发一个模块。)所以我在文件顶部声明以下内容:

1. function templateB_EventRegistrationNode($params = NULL) {
2. /* code */
3. }

但是,当我尝试运行模板时,出现以下错误,

致命错误:无法在 C:\wamp\www\vsi\sites 中重新声明 templateB_EventRegistrationNode()(之前在 C:\wamp\www\vsi\sites\all\themes\vsi_new_template_b\templates\node.tpl.php:1 中声明) \all\themes\vsi_new_template_b\templates\node.tpl.php 在第 3 行

(行号已更改以匹配示例。)

任何人都知道为什么第一行与函数的最后一行冲突?顺便说一句,具有不同名称的函数的副本在另一个模板中工作,因此代码是有效的。

4

1 回答 1

1

在 Drupal 中,主题模板文件使用的任何函数都应该放在主题使用的 template.php 文件中。

@mario 对由多次包含文件引起的错误是正确的,但是如果您将函数放在 template.php 文件中,则该错误将不再出现,因为它只包含一次。

模板文件的内容应该只是显示输出所需的代码。

于 2013-05-03T21:44:51.903 回答