Получение ошибки при попытке изменить подстраницу в Grav - PullRequest
0 голосов
/ 15 марта 2019

Всякий раз, когда я пытаюсь добавить или отредактировать подстраницу (то есть дочернюю страницу главной страницы),

Я получаю эту ошибку:

count (): Параметр должен быть массивом или объектом, который реализует Счетное

Оскорбительная линия:

<div data-grav-array-type="container"{% if field.value_only %} 
     data-grav-array-mode="value_only"{% endif %}
     {{ value|length <= 1 ? ' class="one-child"' : '' }}>

Это происходит в: /grav/templates/forms/fields/array/array.html.twig.

Я недостаточно знаком с Grav, чтобы понять стек и отладить его.

1 Ответ

1 голос
/ 21 марта 2019

Похоже, вы обновляетесь до PHP 7.2. PHP изменил поведение count () в следующем RFC: https://wiki.php.net/rfc/counting_non_countables

С тех пор, вызов count () с параметром, который является скаляром, нулем или объектом, который не реализует Countable, вызывает предупреждение PHP, например Warning: count (): Параметр должен быть массивом или объектом, который реализует Countable в% s в строке% d.

Таким образом, начиная с PHP 7.2 это будет рассматриваться как ошибка в коде.

Примеры:

https://github.com/twigphp/Twig/blob/2.x/lib/Twig/Node/Module.php#L370 https://github.com/twigphp/Twig/blob/2.x/lib/Twig/Extension/Core.php#L1117

Возможно, вы захотите использовать length () или попытаться преобразовать вашу переменную в итеративную

...