Рейтинг:0

InvalidArgumentException: поле field_message_header неизвестно. в Drupal\Core\Entity\ContentEntityBase->getTranslatedField()

флаг us

В полной потере относительно того, что является причиной этой ошибки. Поле было добавлено в объект шаблона уведомления о сообщении. Он в основном используется в качестве токена в электронных письмах, отправляемых с помощью этого модуля. Единственное место в моем пользовательском коде, где я использую это поле, — это установка его значения из значения, собранного в модальной форме. При отправке модального; возникает эта ошибка.

Сумасшедшая часть этого заключается в том, что я удалил поле из сущности (поэтому больше не существует в видимой конфигурации на сайте). Я также закомментировал 1 строку кода, относящуюся к этому полю. После поиска в базе данных единственными таблицами, которые ссылаются на это поле, являются config_snapshot и config_import. Там были записи для поля, которое я удалил, и остались только записи для пакетов, которые использовались для хранения этого поля.Не могу найти никаких ссылок на то, для чего предназначены эти таблицы, но предполагаю, что это только записи прошлого импорта, которые активно не используются.

Чтобы добавить к сумасшествию, все это отлично работает на моей локальной копии сайта для разработчиков.

Я запускал cron и cr много раз.

Любые подсказки?

4uk4 avatar
флаг cn
Вы можете найти подсказки в стеке вызовов полного сообщения об ошибке. getTranslatedFields() — это защищенный метод, который вызывается общедоступным методом get(), единственным аргументом которого является имя поля. Какая функция находится на 3-й позиции в стеке вызовов и откуда она получает аргумент?
liquidcms avatar
флаг us
Пытался распечатать стек вызовов, но не отображал эту ошибку (показывает в журналах другие ошибки). В любом случае, мой клиент восстановил базу данных (старую) с производственного сервера, и мы запустили cim, чтобы получить последнюю конфигурацию, и это решило проблему. После года выполнения многочисленных cim в различных проектах я был уверен, что это окончательное определение конфигурации сайта, но, возможно, это не так. :(
Рейтинг:0
флаг us

Я восстановил старую базу данных (с рабочего сайта) и перезапустил drush cim, чтобы получить конфигурацию, которая должна была быть на промежуточном сайте (который показывал эту ошибку) — и это решило нашу проблему. Очень странно, что я не смог найти ссылку на это поле в базе данных или в коде, и странно, что cim не исправил это, пока не запустил его на более старой базе данных.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.