Превышение лимитов памяти при запросе перевода в модуле tmgmt

Это проблема рекурсии при сборе информации о статье. Модуль сканирует ссылочные поля (reference entity fields) и может попасть в своеобразную рекурсивную петлю. К примеру, статья ссылается на параграф, а тот ссылается на эту же статью.

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

Я обнаружил похожую тему в issues данного модуля, чтобы опубликовать там свой небольшой патч, решающий проблему — #3040609.

https://www.drupal.org/files/issues/2024-09-26/tmgmt-recursion_0.patch

Идея патча в том, чтобы создать реестр объектов, и избежать повторного анализа структуры ранее найденного объекта.

Мало букафф? Читайте есчо !

Создаём программно url alias в Drupal 9

Август 28, 2021 г.

Сниппет кода, демонстрирующий как alias создаётся в Drupal 9. Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так: [crayon-69fcb01a4e9fd955998185/] В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...

Читать

Подготовка строки для использования в качестве имени html класса

Январь 18, 2022 г.

То, что в семерке выполняется функцией drupal_html_class(), в Drupal 8 реализовано в виде статического метода\Drupal\Component\Utility\Html::getClass($str). Данная функция также востребована в шаблонах (twig). Здесь вы можете использовать фильтр ...

Читать

Подстановка токенов в коде Drupal 9

Август 1, 2021 г.

Ядро и модули объявляют множество токенов подстановки. Рассмотрим как получить доступ к глобальному объекту типа \Drupal\Core\Utility\Token и выполнить подстановку в строке. Ядро предоставляет экземпляр объекта через следующий запрос: [crayon-69fcb01a4ed8b641844426/] ...

Читать

Программный рендер меню в Drupal 9

Сентябрь 8, 2021 г.

Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню. Рендер меню по известному id меню Вы знаете идентификатор, вам нужен рендер: [crayon-69fcb01a4ef69386054270/] Рендер ...

Читать
 

Комментарии к «Превышение лимитов памяти при запросе перевода в модуле tmgmt»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: