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

Drupal 9 — патч для обновления модуля Metatag

Drupal 9

Обновляю в Drupal 9 модуль Metatag на версию 1.25. Для 2.0 тоже подойдёт, только там номера строк другие.

drupal

Применяю обновление базы. Должен выполниться скрипт "Remove 'noydir', 'noodp' ROBOTS options from meta tag entity fields."

drupal

Подучаю ошибку.

Возникла AJAX HTTP ошибка.
Полученный код HTTP: 200
Следует отладочная информация.
Путь: /update.php/start?id=270&op=do_nojs&op=do
Текст Состояния: OK
Текст Ответа: Error: Call to undefined method Drupal\Core\Entity\ContentEntityNullStorage::getTableMapping() in metatag_post_update_remove_robots_noydir_noodp() (line 259 of C:\drupal\example.com\docs\modules\metatag\metatag.post_update.php).

Косяк в функции metatag_post_update_remove_robots_noydir_noodp(). Вычитал на форуме, что похожую ошибку поправили в версии 1.26, пробую обновиться на неё.

drupal

Warning: Undefined array key 1 in Drupal\system\Controller\DbUpdateController->results() (line 423 of core\modules\system\src\Controller\DbUpdateController.php).
Drupal\system\Controller\DbUpdateController->results(Object) (Line: 179)
Drupal\system\Controller\DbUpdateController->handle('results', Object)
call_user_func_array(Array, Array) (Line: 115)
Drupal\Core\Update\UpdateKernel->handleRaw(Object) (Line: 76)
Drupal\Core\Update\UpdateKernel->handle(Object) (Line: 27)

Ошибка немного другая.

Возникла AJAX HTTP ошибка.
Полученный код HTTP: 200
Следует отладочная информация.
Путь: /update.php/start?id=273&op=do_nojs&op=do
Текст Состояния: OK
Текст Ответа: Error: Call to undefined method Drupal\Core\Entity\ContentEntityNullStorage::getTableMapping() in _metatag_list_entity_field_tables() (line 65 of C:\drupal\example.com\docs\modules\metatag\metatag.post_update.php).

Теперь ошибка в функции _metatag_list_entity_field_tables(). Залез в код и понял, что кусок кода один и тот же, просто перемещён.

Не стал делать патч, просто поправил ручками (версия 1.26) файл metatag.post_update.php. Сделал проверку на ContentEntityNullStorage.

 
Функция _metatag_list_entity_field_tables()

drupal

Обновляю.

drupal

Теги

 

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

Drupal — добавляем виджет комментариев "В контакте"

Раньше у меня на сайте стояла система комментариев Disqus. В какой-то момент времени она стала отображать назойливую рекламу. Было принято решение поставить на Drupal 8 виджет комментариев "В контакте".

Теги

Drupal — размещение блока в произвольном месте статьи

Многие владельцы сайтов сталкиваются с необходимостью размещения дополнительных блоков в своих статьях. Это может быть рекламный блок или какое-то объявление. Или просто какое-то декоративное праздничное оформление сайта.

Теги

Добавляем уведомления виджету комментариев "В контакте"

Есть такая замечательная штука, виджет комментариев "В контакте". Но у него есть небольшой минус — нет возможности "из коробки" получать уведомления о новых комментариях. Есть блок, выводящий все комментария, но он показывает только сообщения первого уровня, вложенные ответы не видно. Добавим уведомления на почту при поступлении нового комментария.

Теги