TMGMT переводит поле view_mode, объявленное плагином menu_link_extras

Поля, определенные модулями, не попадают в конфиг файлы сайта, и их не получается настроить привычным способом. В данном случае, требуется как то указать TMGMT модулю, что не нужно переводить поле view_mode.

Чтобы предотвратить проблему, можно воспользоваться зацепкой, предоставляемой tmgmt_content — hook_tmgmt_translatable_fields_alter. Пример реализации:

Но обычно это половина проблемы, т.к. исправлять это начинают уже после того, как tmgmt был использован для перевода пунктов меню, заодно и переведя значения поля view_mode.

Проявляется проблема при попытке рендеринга меню в виде Illegal mix of collations ошибки базы данных (например):

Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (ascii_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation ‘=’: SELECT «name», «data» FROM «config» WHERE «collection» = :collection AND «name» IN ( :names__0 ); Array ( [:collection] => [:names__0] => core.entity_view_display.menu_link_content.main.par défaut ) in Drupal\Core\Config\DatabaseStorage->readMultiple() (line 111 of core/lib/Drupal/Core/Config/DatabaseStorage.php).

Придется собрать (агрегировать) все переводы значения view_mode (используете шаблон):

А потом написать HOOK_update_N для вашего модуля, чтобы исправить переведенные значения на изначальные (шаблон):

Можно обойтись и без хука — сделать это вручную, через drush sqlq или используя интерфейс базы данных. Но если исправлять нужно в нескольких базах, то HOOK будет удобнее.

Написать комментарий

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

Как добавить поле "количество" для кнопки add to cart в Drupal Commerce

Июль 13, 2023 г.

Кнопка выводится как элемент product.variations, а вот настройки полей, которые выводятся в этой сущности довольно глубоко зарыты. [crayon-6795d55fbb07f671233401/] Поле "кол-во товара в корзине" не является частью сущности product variation, ...

Читать

Изменить http код ответа для кастомной страницы

Октябрь 30, 2023 г.

Когда вы создаёте свою страницу, используя контроллер, то возможности тут же выбрать какой код ответа она возвращает нет. Контроллер занимается только формированием содержания страницы. Таким образом, страница возвращается с кодом 200. Что делать, ...

Читать

 

Комментарии к «TMGMT переводит поле view_mode, объявленное плагином menu_link_extras»

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



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