我正在尝试将新的Locale
添加到Enfinity Intershop 6.2中的某个目录中,但我无法实现这一目标。这是我到目前为止所尝试的:
1)更新了本地化属性以包含新的语言环境,如下所示:
french = fr FR EUR false
2)在SwitchLocale.isml中添加了新的语言环境条目并重建了目录。更新的SwitchLocale.isml文件如下所示:
<!--- TEMPLATENAME: SwitchLocale.isml --->
<iscontent charset="UTF-8">
<ismodule template = "inc/ShowLocaleItem.isml"
name="ShowLocaleItem"
attribute="LocaleID"
attribute="Flag"
>
<isif condition="#CurrentSession:URLLanguageID NE 'en_US'#">
<ISShowLocaleItem LocaleID="en_US" Flag="flag_en.gif">
</isif>
<isif condition="#CurrentSession:URLLanguageID NE 'fr_FR'#">
<ISShowLocaleItem LocaleID="fr_FR" Flag="flag_fr.gif">
</isif>
3)在flag_fr.gif
中添加了branding
并更新了branding
包。
4)从管理中清除Page Caching
并重新启动Intershop Enfinity Application server
问题:
如果我通常输入URL,例如www.abc.com
(然后重定向到www.abc.com\en-EN\index.html
,因为英语是默认语言环境),那么它不会显示添加的新标志({{1} })。但是,之后如果我将网址更改为flag_fr.gif
,则会正确显示法语网页。
我错过了什么或做错了什么?
答案 0 :(得分:0)
-Edited- 您是否从(SHARE)/ system / config / cluster中删除了localization.lastupdate文件并重新启动了服务器?否则,将不会读取新区域设置并将其应用于db。 添加新的语言环境需要在DB上进行昂贵的操作(添加列和其他),因此,在应用更改后,应用程序服务器会生成一个名为.lastupdate的文件。下次服务器启动时,如果找到lastupdate文件,则忽略属性文件。 如果删除lastupdate文件,则会强制应用服务器重新读取属性文件并更改数据库。之后,你会看到将重新创建一个新的lastupdate。
同样的机制适用于税收和其他一些配置属性,直到ISH 7.2我相信。