Ошибка пользовательского шаблона Drupal 7: только переменные могут быть переданы по ссылке - PullRequest
0 голосов
/ 04 июля 2011

Работаю над созданием моего собственного шаблона Drupal 7 (7.4).

Все, что я хочу, это создать место для блока, названное как заголовок. Для этого я использовал echo render($page['header']);, но я получаю сообщение об ошибке.

Неустранимая ошибка: только переменные могут передаваться по ссылке в C: \ Program Files \ wamp \ www \ drupal7 \ themes \ mytemplate \ html.tpl.php в строке 88

Я не могу понять, где проблема. Я обнаружил, что кто-то говорит, что версия PHP неверна и тому подобное, но я не могу изменить версию PHP из-за типа хостинга.

Можете ли вы помочь мне, как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 06 марта 2014

У меня была та же самая ошибка, я изменил версию php и попробовал другие вещи .. Проблема заключалась в файле шаблона NAME. Каким-то образом я переименовал шаблон по умолчанию в page.tpl.php, и он все исправил. Слово page из page.tpl.php ссылается на переменную $ page в этом файле.

0 голосов
/ 05 июля 2011

render () определяется как render(&$element).
Как объяснено на Передача по ссылке , когда функции требуется ссылка в качестве параметра, вы можете перейти к функции:

  • переменные (render($a))
  • новые операторы (render(new ElementArray()))
  • ссылки, возвращаемые из функций (render(elements_to_render()), где определено elements_to_render()as function &elements_to_render())

Чтобы заметить, что в первом случае передача $a отличается от передачи $page['header'].

...