Drupal 7自定义模板错误:只能通过引用传递变量

时间:2011-07-04 15:34:14

标签: php templates drupal drupal-7 drupal-theming

开发我的自定义Drupal 7(7.4)模板。

我想要的只是为Block创建一个名为Header的地方。为此,我使用echo render($page['header']);,但我收到了错误。

  

致命错误:第88行的C:\ Program Files \ wamp \ www \ drupal7 \ themes \ mytemplate \ html.tpl.php中只能通过引用传递变量

我无法弄清楚问题出在哪里。我发现有人告诉PHP版本不正确以及类似的东西,但我无法更改PHP版本,因为托管类型。

你能帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:-1)

render()定义为render(&$element) 正如Passing by Reference所述,当函数需要引用作为参数时,您可以传递给函数:

  • 变量(render($a)
  • 新陈述(render(new ElementArray())
  • 从函数返回的引用(render(elements_to_render()),其中elements_to_render()定义为function &elements_to_render()

要注意,在第一种情况下,传递$a与传递$page['header']不同。

答案 1 :(得分:-1)

我刚才有同样的错误,我改变了php版本并尝试了其他一些东西..问题是模板文件NAME。不知何故,我将默认模板重命名为page.tpl.php并修复了所有内容。 page.tpl.php中的单词页面引用该文件中的$ page变量。