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

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

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

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

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

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

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

Вывод всех локальных переменных в twig

Июнь 3, 2024 г.

Все видимые переменные шаблона можно посмотреть в переменной _context. Вывести их имена, используя перебор циклом for: [crayon-6a9b343859454280332602/] В Drupal, если вы используете модуль devel, в twig будет доступна функция dpm: [crayon-6a9b34385945e748215090/]

Читать

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

Август 1, 2021 г.

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

Читать

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

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

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

Читать

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

Август 28, 2021 г.

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

Читать
 

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

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



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