Перейти к основному содержанию

Drupal — The 'entity:user' context is required and not present

Drupal 9

Восстанавливаем базу Drupal 9 из бэкапа и при попытке войти гостем получаем ошибку:

The 'entity:user' context is required and not present.

Постоянно на эти грабли наступаю.

drupal

Всё дело в волшебных пузырьках... Для гостевого входа в Drupal существует специальный пользователь с идентификатором "0". Всем DBA прекрасно известно, что вставить в таблицу с автоинкрементом идентификатор "0" можно только с помощью волшебного пенделя, который нужно добавить в SQL скрипт:

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

Но если вы забыли это сделать, то ничего страшного. Смотрим таблицу users.

drupal

Находим в ней максимальный идентификатор, у меня "7", данный пользователь и будет гостем. Мне проще, у меня в примере всего два пользователя, и первый — админ. Но мы можем себя проверить, заглянув в SQL скрипт и поискав там нужную запись по UUID.

sql

Ну да, там должен быть идентификатор "0", а не "7".

UPDATE users SET uid=0 WHERE uid=7;

sql

Можно, конечно, что-нибудь универсальное написать, но это лишнее, на мой взгляд.

Ссылки

https://www.drupal.org/project/drupal/issues/3056234

Теги

 

Похожие материалы

Drupal 8 — установка системы комментариев Disqus

Есть много разных систем комментариев для сайтов: платные, бесплатные, хорошие, плохие. Не будем обсуждать их достоинства и недостатки. Меня не устроила стандартная система комментирования Drupal, ставим Disqus.

Чем хорош Disqus? Он ставится на drupal и работает. 

Итак, регистрируемся на  сайте disqus.com и добавляем свой сайт, сами разберётесь как это делать. Disqus поддерживает много CMS:

Теги

Drupal 8-9 — добавляем блок "Поделиться" в статьи

Добавим блок "Поделиться" в статьи и страницы нашего сайта. Для начала вам нужно сгенерировать HTML код блока. Вы можете воспользоваться многочисленными сервисами в Интернете. Я использую блок от Яндекса.

Теги