每当我尝试添加或编辑子页面(即主页的子页面)时,
我收到此错误:
count():参数必须是实现Countable的数组或对象
违规行是:
<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不够了解,无法理解堆栈并对其进行调试。
答案 0 :(得分:1)
您似乎已升级到PHP 7.2。 PHP在以下RFC中更改了count()行为:https://wiki.php.net/rfc/counting_non_countables
从那时起,使用标量,空值或未实现Countable的对象调用count()会引发PHP警告,如Warning:count():参数必须是实现Countable的数组或对象在第%d行的%s中。
因此,从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()或尝试将变量转换为可迭代的