Слетают УРЛ в мультиязычном меню

Главные вкладки

Аватар пользователя drVadz drVadz 15 мая 2020 в 12:30

Все привет. Подскажите опжалуйста. Есть мультиязычный сайт на D8 (укр и ру). Основная версия языка укр.

Иерархия примерно такая:

- термин
-- термин
---нода
---нода
- термин
--нода
--нода

С урл нод в меню все ок, а вот урл терминов, после запуска cron или любых пересохранений меню перезаписываются. Ссылки на ноды в меню добавляются автоматически, при создании ноды (там можно поставить галку), а урл на термины добавляются в меню руками.

  • Добавляешь ссылку на термин укр - все ок
  • переводишь пункт на ру - все ок
  • запускаешь крон - на укр перезаписывается ру перевод, но только урлы, с названиями пунктов все ок)

Если делать перевод наоборот ру на укр - перезапишутся пункты русского.

После каждой правки меню приходится снова переписывать урлы. Может есть способ автоматического добавления ссылок на термин в меню? Ну по типу как в нодах, есть опция "добавить в меню"

UPD. Поправил руками укр урлы - стало все ок на двух языках. Почистил кеш - ру урлы перезаписались на укр.
UPD. Теперь поправил руками ру урлы - стало все ок на двух языках. Почистил кеш - укр урлы перезаписались на ру.

Комментарии

Аватар пользователя marassa marassa 16 мая 2020 в 13:43

Чистка кэша сама по себе не может ничего "перезаписывать". Если после чистки кэша что-то меняется, значит в кэше до этого момента хранилась какая-то устаревшая фигня, не соответствующая реальной информации в базе данных. Вот от этого и надо плясать, кмк.
Я ничего не понимаю в меню, но я бы проверил переводибельность поля ссылки. Может быть это поле задано как не translatable, и когда Вы думаете, что переводите его, Вы на самом деле затираете предыдущее значение. После этого какое-то время в кэше ещё видна и старая ссылка для первичного языка, которой уже нет в базе, но после сброса кэша старое значение исчезает навсегда.
А ещё в базу бы заглянуть, посмотреть что там хранится на самом деле.

Аватар пользователя drVadz drVadz 16 мая 2020 в 21:46

На сайте сейчас все нормально отображается, но в базе под /ru прописаны /uk урлы. Почитал в соседней теме, там правили руками базу. Думаю тоже так сделаю, но чистил кеш, запускал крон, все работает нормально. Хочу понять, когда именно меняются эти урлы. Как поправлю, обязательно отпишусь