Использование альтернативных (переведенных) заголовков в динамических меню в Lektor - PullRequest
0 голосов
/ 04 сентября 2018

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

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

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

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

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

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

1 Ответ

0 голосов
/ 10 сентября 2018

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

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

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

...