Проблемы с php в шаблоне

Главные вкладки

Аватар пользователя ako28 ako28 13 марта 2019 в 13:18

Здравствуйте.
Переделал шаблон node-тип-материала.tpl.php и получаю php предупреждения в Последних записях журнала:
<?php  WarningCannot use a scalar value as an array в функции include() (строка 208 в файле \sites\all\themes\promotion\templates\cur\node--cur.tpl.php).?>

Выходит 4 таких предупреждения на 4 строки

Кто-то скажет, что я намудрил с одинаковыми регионами и с разметкой.
Вот структура этого шаблона

Шаблон отображает как нужно, но выдает предупреждения. Внутри каждого региона программно выводятся блоки, вьювсы и поля.

Извините, но форум почему-то не совсем корректно отображает листинг кода...Вот скриншот

Вот листинг полностью на pastebin:
https://pastebin.com/hjGZgQZA

Лучший ответ

Аватар пользователя bumble bumble 13 марта 2019 в 15:50
2

Всегда(!) добавляйте проверки на существование и заполненность элементов массивов.
В PHP это не контролируемая структура.


<?php if (!empty($page['two_66_33_first'])): ?>
  <?php print render($page['two_66_33_first']); ?>
<?php 
endif; ?>

Комментарии

Аватар пользователя bumble bumble 13 марта 2019 в 15:50
2

Всегда(!) добавляйте проверки на существование и заполненность элементов массивов.
В PHP это не контролируемая структура.


<?php if (!empty($page['two_66_33_first'])): ?>
  <?php print render($page['two_66_33_first']); ?>
<?php 
endif; ?>
Аватар пользователя ako28 ako28 13 марта 2019 в 17:09

bumble wrote:
Всегда(!) добавляйте проверки на существование и заполненность элементов массивов.
В PHP это не контролируемая структура.

<span style="color: #000000"><br /><span style="color: #0000BB">&lt;?php </span><span style="color: #007700">if (!empty(</span><span style="color: #0000BB">$page</span><span style="color: #007700">[</span><span style="color: #DD0000">'two_66_33_first'</span><span style="color: #007700">]))</span><span style="color: #0000BB">?&gt;<br /></span>  <span style="color: #0000BB">&lt;?php </span><span style="color: #007700">print </span><span style="color: #0000BB">render</span><span style="color: #007700">(</span><span style="color: #0000BB">$page</span><span style="color: #007700">[</span><span style="color: #DD0000">'two_66_33_first'</span><span style="color: #007700">])</span><span style="color: #0000BB">?&gt;<br />&lt;?php </span><span style="color: #007700">endif</span><span style="color: #0000BB">?&gt;<br /></span></span>


Спасибо, так и есть