Drupal 8, ошибка на странице просмотра заказа
Я работаю на веб-сайте Drupal 8/Drupal Commerce, и я сталкиваюсь с "Непредвиденной ошибкой на веб-сайте" при попытке получить доступ к /администратору/коммерции/заказам/* страницам (страница просмотра заказов).
В сообщениях журнала я получаю:
Error : Unsupported operand types dans Drupal\views\Element\View::preRenderViewElement() (/---/core/modules/views/src/Element/View.php ligne 49)
#0 [internal function]: Drupal\views\Element\View::preRenderViewElement(Array)
#1 /---/core/lib/Drupal/Core/Render/Renderer.php(378): call_user_func(Array, Array)
#2 /---/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false)
#...
#10 /---/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('commerce_order', Array)
Таким образом, похоже, что представление, отображаемое на этих страницах, вызывает эту ошибку. Кто-нибудь сталкивался с этой ошибкой?
Спасибо
РЕДАКТИРОВАТЬ
После некоторой отладки я обнаружил, что в
/core/modules/views/src/Element/View.php L49
$element += $view->element;
...$представление равно нулю, что и вызывает ошибку. Над этой строкой $view определяется этой строкой (L43):
$view = Views::getView($element['#name']);
...и $элемент['#имя'] = commerce_order_item_table.
Метод View::getView() таков:
public static function getView($id) {
$view = \Drupal::service('entity.manager')->getStorage('view')->load($id); // this call returns null
if ($view) {
return static::executableFactory()->get($view);
}
}
Похоже, я пропустил просмотр (commerce_order_item_total)?... Я сообщу дополнительную информацию здесь.
РЕДАКТИРОВАТЬ 2
Мое отсутствующее представление, похоже, определено в
/modules/contrib/commerce/modules/order/config/install/views.view.commerce_order_item_table.yml
...но, по-видимому, не найден.
ПРАВКА3
На /администратор/конфигурация/разработка/конфигурация/один/экспорт (экспорт одного элемента), выбрав "просмотр" в качестве типа конфигурации, я не могу найти "commerce_order_item_table". Выполнение полного экспорта вручную (drush cex --назначение = синхронизация) Я не нахожу таблицу views.view.commerce_order_item_table в папке синхронизации.
2 answers
Я не выяснил, почему мои представления заказов исчезли, но я смог импортировать их обратно с помощью синхронизации конфигурации:
У меня была та же ошибка, но с другим представлением для commerce_orders, views.view.commerce_activity.yml, при просмотре заказа от имени администратора.
Экспортируйте представление, а затем импортируйте представление с синхронизацией содержимого.