Недавно я обновил локальную песочницу до ядра Drupal 9.2.4. Во время тестирования я получил ошибку при попытке добавить новое содержимое статьи из /node/add/article.
В журнале отображается следующее сообщение.
Drupal\Core\Entity\EntityStorageException: Отсутствует пакет для узла типа сущности в Drupal\Core\Entity\ContentEntityStorageBase->doCreate() (строка 97 из /var/www/drupal9sandbox/docroot/core/lib/Drupal/Core/Entity/ ContentEntityStorageBase.php).
Единственное изменение, которое я сделал до этого, — это изменение в файле article.routing.yml. я должен был использовать _entity_form: 'узел.по умолчанию'
вместо Друпал\узел\Контроллер\УзелКонтроллер::добавить()
поскольку это устарело в Drupal 9, как сообщается в Метод NodeController::add() устарел.
Это полное содержание статьи.routing.yml файл.
Помимо небольшого изменения в _entity_form: 'узел.по умолчанию'
, больше ничего не трогал.
custom_articles.add_content:
путь: '/узел/добавить/статья'
значения по умолчанию:
_entity_form: 'узел.по умолчанию'
_title_callback: '\Drupal\node\Controller\NodeController::addPageTitle'
node_type: 'статья'
требования:
_node_add_access: 'узел: статья'
параметры:
_node_operation_route: ИСТИНА
параметры:
тип_узла:
with_config_overrides: ИСТИНА
Я не уверен, где будет определен тип пакета, но этот тип контента хорошо работал в Drupal 8.9.16.