函数声明与自身冲突

时间:2013-05-03 17:27:49

标签: php drupal-7 wamp

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

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

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

  

致命错误:无法重新声明templateB_EventRegistrationNode()   (先前在   C:\ WAMP \ WWW \ VSI \网站\所有\主题\ vsi_new_template_b \模板\ node.tpl.php:1)   在   C:\ WAMP \ WWW \ VSI \网站\所有\主题\ vsi_new_template_b \模板\ node.tpl.php   在第3行

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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