Использование альтернативных (переведенных) заголовков в динамических меню в Lektor

Я новичок в Lektor, и я использовал этот фрагмент в моем макете для динамического создания меню

{% for content in site.get('/').children %}
    <li><a href="{{ content|url(alt=alt) }}">{{ content.title }}</a></li>
{% endfor %}

Это прекрасно работает для производства alt URL в соответствии с выбранной альтернативой (языком), но title по-прежнему отображается только на основном языке содержимого вместо переведенного.

Это означает, что, когда, скажем, французский alt выбран (и присутствует в URL), меню по-прежнему т.е. Main, Contact вместо французской переведенной версии.

Я знаю, что могу обойти это, используя пакет данных для хранения языкового отображения для меню, но для этого потребуется дублировать информацию заголовка в пакете данных, а затем убедиться, что она синхронизируется с тем, что находится в content.title,

В идеале мне не хватает фильтра для title где вы можете указать alt Вы хотите использовать, или какой-то другой метод, который я не знаю?

1 ответ

Наивно, как это может быть, я не понимал, что вы можете передать alt параметр в site.get до тех пор, пока я не посмотрел на исходный код. Таким образом, способ получить определенные дочерние страницы для определенного языка:

{% for content in site.get('/', alt=alt).children %}
    <li><a href="{{ content }}">{{ content.title }}</a></li>
{% endfor %}

И так как мы уже указали alt параметр в get, нам не нужно фильтровать url больше для текущего альт.

Другие вопросы по тегам