Использование альтернативных (переведенных) заголовков в динамических меню в 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
больше для текущего альт.