因此,例如,我想改变显示给用户的语言按钮的顺序,从英语-中文-法语到中文-法语-英语。
我假设它位于:zope.interface.interface-plone.app.i18n.locales.languageselector中,它位于portal_view_customizations/registrations.html.内部。
更具体地说,我假设这与这段脚本有关:
> <tal:nonflag condition="python:not showFlags or not flag" replace="name">
> language name
> </tal:nonflag>然而,为了控制屏幕上的语言顺序,我仍然不知道该怎么写或者写什么。
任何帮助都将不胜感激。
发布于 2015-10-22 16:36:40
,所以我找到了一个可行的解决方案!
为了在使用Plone的网站上重新排列语言的顺序(),您需要遵循以下步骤:
<tal:language repeat="i python:[2,0,1]">添加到<li>标记之前,其中2,0,1表示我选择的顺序。如果你有一个更大的语言列表,那么当然,它会像0,1,2,3,4……Et.c这样的东西,你可以随意重新排列。谢谢你@乌尔里希·施瓦兹,尽管我不能用你的建议让它发挥作用。我相信,可以通过多种途径,包括你所建议的方式来做到这一点。
发布于 2015-10-14 11:08:50
没有GUI可以更改ZMI的portal_language工具中条目的顺序(据我所知,这是页面上使用的顺序)。
但是:在portal_setup中,您可以导出语言设置,这将为您提供包装在存档中的文件portal_languages.xml,其内容类似于以下内容:
<?xml version="1.0"?>
<object>
<default_language value="en"/>
<use_path_negotiation value="False"/>
<use_cookie_negotiation value="True"/>
<set_cookie_everywhere value="False"/>
<use_request_negotiation value="True"/>
<use_cctld_negotiation value="False"/>
<use_content_negotiation value="True"/>
<use_combined_language_codes value="False"/>
<display_flags value="False"/>
<start_neutral value="False"/>
<use_subdomain_negotiation value="False"/>
<authenticated_users_only value="False"/>
<supported_langs>
<element value="de"/>
<element value="da"/>
<element value="it"/>
<element value="en"/>
<element value="fr"/>
<element value="cs"/>
</supported_langs>
</object>您可以更改<supported_langs>中行的顺序,将文件放回存档中,并在portal_setup的导入函数中使用“导入上载tarball”来应用更改的xml文件。
或者,您可以创建(并通过"test“选项卡)创建这样一个脚本(Python),它将首先删除,然后按照所需的顺序逐个重新添加语言。(如果您为您的语言使用了不同的文件夹和根语言切换器,那么以后可能需要再次运行@@language-setup-folders步骤。)
# Return a string identifying this script.
print "This is the", script.meta_type, '"%s"' % script.getId(),
if script.title:
print "(%s)" % html_quote(script.title),
print "in", container.absolute_url()
pl = context.portal_languages
pl.removeSupportedLanguages(pl.getSupportedLanguages())
print pl.supported_langs
pl.addSupportedLanguage('de')
pl.addSupportedLanguage('fr')
pl.addSupportedLanguage('da')
pl.addSupportedLanguage('en')
print pl.supported_langs
return printed我尝试直接浏览文档中的manage_setLanguageSettings方法,但是,至少在4.3.2中,这要求您显式地设置所有其他参数(使用cookie进行语言嵌套等),所以我不太感兴趣。
https://stackoverflow.com/questions/33075719
复制相似问题