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 в папке синхронизации.

Author: Florian Motteau, 2017-10-21

2 answers

Я не выяснил, почему мои представления заказов исчезли, но я смог импортировать их обратно с помощью синхронизации конфигурации:

Https://www.drupal.org/node/2917828#comment-12321847

 0
Author: Florian Motteau, 2017-11-05 23:02:18

У меня была та же ошибка, но с другим представлением для commerce_orders, views.view.commerce_activity.yml, при просмотре заказа от имени администратора.

Экспортируйте представление, а затем импортируйте представление с синхронизацией содержимого.

 0
Author: themic8, 2019-02-19 08:54:24