Связь страниц Silverstripe на разных языках
-
28-10-2019 - |
Вопрос
Я создал объект Link DataObject, чтобы пользователи могли автоматически создавать ссылку на другую страницу во Frontend.Я использую два языка в интерфейсе, немецкий и английский.Во всплывающем окне я создаю раскрывающийся список для выбора страниц
родовое словоНо я вижу только немецкие страницы в раскрывающемся списке.Пытался изменить язык администратора на английский, но без изменений.Кажется, что база данных возвращает только немецкие страницы ...
Есть подсказка?
Решение
Изменить: я еще немного покопался и узнал, как это сделать.Перед получением объектов SiteTree необходимо вызвать disable_locale_filter:
родовое словоЗатем вызовите "enable_locale_filter" после их получения:
родовое словоЭто другие подходы, которые я оставлю здесь, поскольку считаю, что они все еще полезны ...
Я считаю, что вам, возможно, придется сделать это с помощью Translatable :: get_by_locale () - я предполагаю, что вы хотите, чтобы люди могли выбирать страницу для ссылки на своем языке ??
Возможно, что-то вроде этого?
родовое словоИзменить: см. комментарии ниже, но другой вариант - использовать функцию Translatable :: get_current_locale (), чтобы найти все страницы в дереве сайта для этого языкового стандарта ... если пользователь просматривает английскую страницу, необходимо установить языковой стандартна английский и т. д.
родовое словоВы также можете получить языковой стандарт с текущей страницы, например
родовое слово