【发布时间】:2014-03-28 06:41:49
【问题描述】:
我想在 django cms 的语言选择器中隐藏一个未翻译的页面,以便语言选择器仅显示该页面具有翻译的语言。我该怎么做?
一个想法是扩展语言选择器模板并检查该语言是否有翻译页面,但我不知道该怎么做。
【问题讨论】:
-
这个问题你解决了吗?
标签: django internationalization django-cms
我想在 django cms 的语言选择器中隐藏一个未翻译的页面,以便语言选择器仅显示该页面具有翻译的语言。我该怎么做?
一个想法是扩展语言选择器模板并检查该语言是否有翻译页面,但我不知道该怎么做。
【问题讨论】:
标签: django internationalization django-cms
在 django cms 3.0 中:
{% if page and language in page.languages %}
对于 2.4:
您可能会运行一个自定义过滤器或模板标签::
if page.title_set.filter(language=lang).count():
return True
else:
return False
【讨论】:
其实有一个漂亮的解决方案,先贴在这里:https://groups.google.com/forum/#!topic/django-cms/z1rdf4C-ltQ
current_page.get_languages 是解决方案。在我的 Aldryn 项目中使用 djangocms 3。
includes/menu/langnav.html:
{% load i18n menu_tags %}
{% if languages|length > 1 %}
{% comment %}
This is awesome: https://groups.google.com/forum/#!topic/django-cms/z1rdf4C-ltQ
{% endcomment %}
<li class="lang">
{% for language in current_page.get_languages %}
<a class="{{ language }}{% ifequal current_language language %} selected{% endifequal %}"
href="{% page_language_url language %}">{{ language }}</a>
{% endfor %}
</li>
{% endif %}
【讨论】: