Неперехваченная ошибка типа TypeError: аргумент типа array, задан null

#php #arrays #product #data-migration #magento-2.3

#php #массивы #продукт #данные-миграция #magento-2.3

Вопрос:

Каков средний аргумент типа array, задан null,

Ошибка:

Неустранимая ошибка: Неперехваченный TypeError: аргумент 3, переданный в MagentoFrameworkViewElementUiComponentFactory::mergeMetadataElement(), должен иметь тип array, задан null, вызывается в /var/www/html/giriusa/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php в строке 384 и определен в /var/www/html/giriusa/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php:337 Трассировка стека: #0 /var/www/html/giriusa/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php (384): MagentoFrameworkViewElementUiComponentFactory->mergeMetadataElement(Array, ‘configurableExi…’, NULL, false) #1 /var/www/html/giriusa/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php (412): MagentoFrameworkViewElementUiComponentFactory->mergeMetadataItem(массив, Array, false) #2 /var/www/html/giriusa/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php (412): MagentoFrameworkViewElementUiComponentFactory->mergeMetadataItem(массив, Array, false) #3 / var/www/html/giriusa/lib/internal/Magento/Fram в /var/www/html/giriusa/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php в строке 337

Путь: lib/internal/Magento/Framework/View/Element/UiComponentFactory.php

UiComponentFactory::mergeMetadataElement() должен иметь тип array, задан null

 protected function mergeMetadataElement(array $bundleComponents, $name, array $data, $reverseMerge = false)
{
    if (isset($bundleComponents[$name])) {
        $bundleComponents[$name] = $reverseMerge
            ? array_replace_recursive($data, $bundleComponents[$name])
            : array_replace_recursive($bundleComponents[$name], $data);
        return [$bundleComponents, true];
    } else {
        foreach ($bundleComponents as amp;$childData) {
            if (isset($childData['attributes']['class'])
                amp;amp; is_a($childData['attributes']['class'], MagentoUiComponentContainer::class, true)
                amp;amp; isset($childData['children']) amp;amp; is_array($childData['children'])
            ) {
                list($childData['children'], $isMerged) = $this->mergeMetadataElement(
                    $childData['children'],
                    $name,
                    $data,
                    $reverseMerge
                );
                if ($isMerged) {
                    return [$bundleComponents, true];
                }
            }
        }
    }
    return [$bundleComponents, false];
}
  

Примечание: После миграции с 1.9 получение вышеуказанной ошибки до того, как она заработает нормально.

Комментарии:

1. Это означает, что вы передаете null значение третьему параметру функции ( $data ).

2. Это основной файл Magento, до миграции ошибки нет, после миграции с 1.9.2.3 я столкнулся с ошибкой при добавлении нового продукта.