Я получаю странную ошибку при попытке объявить простую функцию в drupal 7. Я объявляю функцию в верхней части файла шаблона (я знаю, как правило, нет, но мне нужно получить эти шаблоны из быстро, нет времени, чтобы разработать модуль для функций прямо сейчас) Так я заявляю следующее в верхней части файла:.Объявление функции, противоречащее самому себе
1. function templateB_EventRegistrationNode($params = NULL) {
2. /* code */
3. }
Однако, когда я пытаюсь запустить шаблон я получаю следующая ошибка,
Fatal error: Cannot redeclare templateB_EventRegistrationNode() (previously declared in C:\wamp\www\vsi\sites\all\themes\vsi_new_template_b\templates\node.tpl.php:1) in C:\wamp\www\vsi\sites\all\themes\vsi_new_template_b\templates\node.tpl.php on line 3
(Номера линий были изменены в соответствии с ex достаточно.)
У кого-нибудь есть идея, почему первая строка противоречит последней строке функции? BTW, копия функции с другим именем работает в другом шаблоне, поэтому код действителен.
возможно, потому что файлы шаблонов могут быть включены несколько раз, а второе включение вызывает ошибку. –
Номера строк неактуальны (как и ваше затенение, так для примера). Это проблема с переделкой функции. Используйте отложенные определения, обернув их в 'if (! Function_exists (" ... ")) {' как минимум. – mario
потрясающий, спасибо, ребята, который указал мне в правильном направлении. – matt