尝试在Grav中编辑子页面时出现错误

时间:2019-03-14 23:33:20

标签: php grav

每当我尝试添加或编辑子页面(即主页的子页面)时,

我收到此错误:

  

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不够了解,无法理解堆栈并对其进行调试。

1 个答案:

答案 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()或尝试将变量转换为可迭代的