为CMS模块创建语言相关的JavaScript文件
bluetronix CMS自动为你的网站中每个已激活语言生成优化的JavaScript文件。你将学习如何将标准文件、个性化调整和语言相关的模块文本合并,以及CMS如何将合适的文件自动嵌入到你的网站中。
语言依赖的JavaScript文件
bluetronix CMS 可以为您网站上每个启用的语言生成独立的JavaScript文件。这样,语言依赖的文本和功能可以直接在各自的JavaScript文件中使用.
所需的文件会在您保存模块配置时自动创建。CMS会考虑标准文件和您的个人调整.
本教程基于文档"集成和调整CMS模块"。您应该已经熟悉开发者文件夹bx_Mod和使用自己的_own文件.
1. 自动生成JavaScript文件
当您保存模块配置时,CMS会自动重新生成所有所需的语言依赖的JavaScript文件.
只会创建您通过模块Lang启用的语言版本.
启用的语言通过全局模块配置进行设置:
bx_Mod/config_own.php
例如,如果您启用了德语、英语和西班牙语,CMS将为这三种语言创建相应的JavaScript文件.
更换颜色集或布局将不会再改变JavaScript文件。自动重新生成在保存模块配置时发生.
2. 手动生成JavaScript文件
除了自动生成,您还可以手动生成语言依赖的JavaScript文件.
作为管理员,您可以访问以下地址。将示例域名替换为您的CMS地址:
https://xxxx.bxserver.net/bx_Mod/BxScript.php
通过此调用,您可以在不保存模块配置的情况下重新生成JavaScript文件.
3. 全局模块配置
全局模块配置位于:
bx_Mod/config_own.php
该文件包含您项目的个性化设置。它在安装后会根据用户的需求进行配置.
这里主要规定了要使用哪些模块和区域,例如商店或博客。同时考虑了已激活的语言.
配置因此成为生成依赖语言的JavaScript文件的重要基础.
4. 模块配置和语言文件
在生成时,CMS会考虑各个模块的配置文件。这包括标准配置、个性化调整和依赖语言的文本.
以商店模块为例,这些是:
bx_Mod/Shop/config.php
bx_Mod/Shop/config_own.php
bx_Mod/Shop/config_text_de.php
bx_Mod/Shop/config_text_de_own.php
这些文件履行不同的任务:
config.php: 包含商店模块的标准配置.
config_own.php: 包含你的个性化配置设置.
config_text_de.php: 包含商店模块的标准德语文本.
config_text_de_own.php: 包含你个性化的德语文本调整.
对于其他已激活语言,将考虑相关的语言文件.
尽量不要直接修改标准文件。使用指定的_own文件进行个性化调整,以便在正常的CMS更新中保留你的变更.
5. 标准JavaScript及自定义调整
普通的JavaScript文件位于开发者文件夹bx_script中.
对于核心JavaScript功能,将考虑以下文件:
/bx_script/BxScript_own_min.js
/bx_script/BxScript_own.js
/bx_script/BxScript_own_min.js
BxScript.js是bluetronix CMS的标准文件。它可以在系统更新时被覆盖.
文件BxScript_own.js和BxScript_own_min.js是用于个性化调整的.
这些文件可以在生成依赖语言的JavaScript文件时考虑.
6. 头部JavaScript及自定义调整
除了普通JavaScript文件外,还有用于你网站头部的单独文件.
/bx_script/BxHeadScript_own_min.js
/bx_script/BxHeadScript_own.js
/bx_script/BxHeadScript_own_min.js
BxHeadScript.js包含CMS提供的头部JavaScript功能。这个标准文件可以在系统更新时被覆盖.
你可以使用BxHeadScript_own.js和BxHeadScript_own_min.js进行个性化调整.
这些文件也会生成相应的依赖语言版本.
7. 生成的JavaScript文件
CMS根据现有的配置、语言和JavaScript文件,为每个已激活的语言生成单独的文件.
例如,会生成以下常规JavaScript文件:
/bx_script/BxScript_de.js
/bx_script/BxScript_en.js
/bx_script/BxScript_ru.js
/bx_script/BxScript_es.js
此外,还会创建相应的头部JavaScript文件:
/bx_script/BxHeadScript_de.js
/bx_script/BxHeadScript_en.js
/bx_script/BxHeadScript_ru.js
/bx_script/BxHeadScript_es.js
语言缩写标识各自的语言。例如,de代表德语,en代表英语,ru代表俄语,es代表西班牙语.
CMS只生成实际激活语言的文件.
8. 优化生成的JavaScript文件
在生成过程中,JavaScript 文件也会被优化。这样可以删除不必要的注释和多余的空格。
简单优化包括以下步骤:
1. 以 // 开头的行将被删除。
2. 仅包含空格的行将被删除。
3. 多个空格可被替换为一个空格。
目前不需要完全压缩。
优化减少了生成的 JavaScript 文件中的不必要内容。
9. 自动引入语言依赖的JavaScript文件
bluetronix CMS 在生成您的网页时,会检查当前选择的语言是否存在相应的 JavaScript 文件。
在 HTML 布局中,普通的 JavaScript 文件可以通过以下 CMS 标记引入:
__FV_/bx_script/BxScript_own_min.js__
当访问者调用您网页的德语版本且相应的语言文件存在时,CMS 会自动用以下标记替换:
__FV_/bx_script/BxScript_de.js__
同样的原则适用于头部 JavaScript 文件。
从:
__FV_/bx_script/BxHeadScript_own_min.js__
变为:
__FV_/bx_script/BxHeadScript_de.js__
现有的 HTML 引入不需要为每种语言单独调整。
如果没有合适的语言文件,普通的 JavaScript 文件将保持引入。
10. 通过文件修改日期更新浏览器缓存
为了避免浏览器在更改后继续从缓存加载过时的 JavaScript 文件,CMS 还可以使用相应文件的修改日期。
引入的 JavaScript 文件将获得一个版本参数。
示例:
BxScript_de.js?v=DATEI_AENDERUNGS_DATUM
如果文件发生变化,版本参数也可能会改变。这样,浏览器能识别到已更改的文件版本并重新加载。
此方法可用于普通 JavaScript 文件和头部 JavaScript 文件。
11. 总结
bluetronix CMS 会自动为您网站的每种启用语言创建单独的 JavaScript 文件。
每次保存模块配置时都会进行生成。此外,您可以通过 bx_Mod/BxScript.php 手动启动它。
在创建过程中,将考虑全局模块配置、模块的配置和语言文件、默认和自定义 JavaScript 文件。
在布局中,CMS 会自动识别是否存在合适的语言文件,并引入该语言文件而不是普通的 JavaScript 文件。
对于个性化调整,原则上应使用指定的 _own 文件,以确保您的更改在正常系统更新时得以保留。
常见问题
客户常问我们的问题
何时生成语言依赖的 JavaScript 文件?
bluetronix CMS 在您保存模块配置后会自动生成文件。在此过程中,会重新创建所有启用语言的 JavaScript 文件。
我如何手动重新生成 JavaScript 文件?
以管理员身份访问地址 https://xxxx.bxserver.net/bx_Mod/BxScript.php。在此过程中,将示例域名替换为你的CMS地址。
是否为所有可用语言生成JavaScript文件?
不。CMS仅创建通过模块 Lang 激活的语言版本。相应的设置在 bx_Mod/config_own.php 中进行。
更换色彩方案或布局时,JavaScript文件会被修改吗?
不。色彩方案或布局不会再更改JavaScript文件。自动重新生成发生在保存模块配置时。
我可以个性化调整哪些文件?
你可以个性化调整的JavaScript文件包括 BxScript_own.js、BxScript_own_min.js、BxHeadScript_own.js 和 BxHeadScript_own_min.js。模块也有以_own标记的独立配置和语言文件。
在CMS升级时,标准JavaScript文件会发生什么?
标准文件 BxScript.js 和 BxHeadScript.js 在系统更新时可能会被覆盖。因此,你应仅在指定的_own文件中保存自己的更改。
CMS如何识别需要加载哪个JavaScript文件?
CMS在生成网页时会检查当前选择的语言是否有对应的JavaScript文件存在。例如,若存在 BxScript_de.js,则会为德语版本加载此文件,而不是通用文件。
我如何防止访客从浏览器缓存中加载过时的JavaScript文件?
CMS在引入JavaScript文件时还可以将文件修改日期作为版本参数使用。这样,浏览器在修改后可以加载新的文件版本。