*章 设备适配
对于不同设备做适配有多种解决方案:响应式布局、适配渲染模板、适配跳转不同页面。
1. 动态适配渲染模板
动态访问时可以在模板中使用userAgent指令获取与设备相关的信息进行适配。
设备类型适配
<@_userAgent> <#switch object.deviceType> <#case "COMPUTER" > PC适配处理 <#break> <#case "MOBILE" > 手机适配处理 <#break> <#case "TABLET" > 平板适配处理 <#break> <#case "WEARABLE" > 穿戴设备适配处理 <#break> <#case "DMR" > 数字媒体接收器适配处理 <#break> <#case "GAME_CONSOLE" > 游戏主机适配处理 <#break> <#case "UNKNOWN" > 未识别设备适配处理 <#break> <#default> 默认处理 </#switch> </@_userAgent>  | 
操作系统适配object.operatingSystemGroup
值  | 类型  | 
WINDOWS  | windows操作系统  | 
ANDROID  | 安卓操作系统  | 
CHROME_OS  | chrome 操作系统  | 
WEBOS  | webos操作系统  | 
PALM  | palm操作系统  | 
MEEGO  | 诺基亚meego操作系统  | 
IOS  | IOS操作系统  | 
MAC_OS_X  | mac os x操作系统  | 
MAC_OS  | mac os操作系统  | 
MAEMO  | 诺基亚maemo操作系统  | 
BADA  | 三星bada操作系统  | 
GOOGLE_TV  | 谷歌电视操作系统  | 
KINDLE  | kindle操作系统  | 
LINUX  | linux操作系统  | 
SYMBIAN  | 塞班操作系统  | 
SERIES40  | 诺基亚s40操作系统  | 
SUN_OS  | sun os操作系统  | 
PSP  | psp操作系统  | 
WII  | Wii游戏主机操作系统  | 
BLACKBERRY  | 黑莓操作系统  | 
BLACKBERRY_TABLET  | 黑莓平板操作系统  | 
ROKU  | Roku TV操作系统  | 
PROXY  | 代理  | 
UNKNOWN_MOBILE  | 未知手机操作系统  | 
UNKNOWN_TABLET  | 未知平板操作系统  | 
UNKNOWN  | 未知操作系统  | 
浏览器适配object. browserType
值  | 类型  | 
OUTLOOK  | Outlook  | 
IE  | IE浏览器  | 
EDGE  | Edge浏览器  | 
CHROME  | Chrome浏览器  | 
SAFARI  | Safari浏览器  | 
OPERA  | Opera浏览器  | 
APPLE_WEB_KIT  | 苹果应用内嵌浏览器  | 
LOTUS_NOTES  | Lotus Notes  | 
FIREFOX  | Firefox浏览器  | 
MOZILLA  | Mozilla浏览器  | 
2. 静态化适配
静态化适配主要是对内容生成不同版本的页面,在浏览器访问时使用javascript判断设备类型等信息进行跳转,或由用户自己选择不同版本浏览。
每个分类或每类内容只能配置一个入口静态化模板和静态化文件路径,可以在入口静态化模板中调用createTemplateFile 、createCategoryFile、createContentFile指令生成其他版本的静态化页面。
示例:
<@_createContentFile id=content.id templatePath=’/system/content_mobile.html’ filePath=”/m/${content.id}.html” pageIndex=pageIndex>手机版本页面:${url}</@ _createContentFile> <@_createContentFile id=content.id templatePath=’/system/content_pad.html’ filePath=”/p/${content.id}.html” pageIndex=pageIndex>平板版本页面:${url}</@ _createContentFile>  | 
第二章 国际化
1. 概述
网站国际化可以有多种,一种是制作多个完全独立的站点,或同一站点不同模板目录,此种方式比较简单,跟传统网站制作没有区别;一种是动态模板,利用freemarker模板引擎的国际化特性,对模板进行国际化命名方式实现;也可以同时使用上述几种方式,官方提供的站点2demo就是同时使用了同一站点不同模板目录和模板名国际化两种方式制作的.
2. 多站点方式
在站点管理中创建多个站点,分别制作不同语言的模板,分配不同的管理人员进行维护.然后各个站点直接通过超链接或者js跳转实现语言切换,其中中文简体,中文繁体推荐直接利用js对页面文字进行特定汉字替换方式实现
当不同语言站点主体风格相同时可以新建子站点方式复用模板文件

给子站点填充不同语言的数据即可
3. 多模板目录方式
在模板中创建多个目录,每个目录使用不同语言制作,在创建分类时可以根据实际情况选择使用一套分类或多套分类.当使用一套分类时,要求每个分类必须维护多种语言的素材.可以使用扩展字段方式,扩展出多套语言的素材存储字段,然后维护人员对同一内容或分类维护多种 语言的素材.当使用多套分类时,每套模板使用自己独立的一套分类-内容体系,在统一的后台进行维护管理,切换方式与多站点方式类似
4. 模板国际化命名方式
可以参考管理后台模板示例中首页和中文首页的例子,通过对模板进行国际化命名,然模板引擎实现国际化语言切换
完整国际化模板名:index_zh_CN.html.中index是文件名,zh_CN是语言标识,.html是文件后缀.语言标识又分为语言,地区两部分,如zh和CN分别标识中文.
当locale设置为zh_CN,用户访问index.html时,模板引擎优先加载index_zh_CN.html,如果没有找到则加载index_zh.html,如果没有找到则加载index.html,如果依旧没有或者模板存在或index.html的模板元数据没有启用动态访问,用户会得到404错误提示.
常见语言项
语言  | 语言值  | 
ENGLISH  | en  | 
UK ENGLISH  | en_GB  | 
US ENGLISH  | en_US  | 
CANADA  | en_CA  | 
FRENCH  | fr,fr_FR  | 
CANADA RENCH  | fr_CA  | 
GERMAN  | de,de_DE  | 
ITALIAN  | it,it_IT  | 
JAPANESE  | ja,ja_P  | 
KOREAN  | ko,ko_KR  | 
中文  | zh  | 
简体中文  | zh_CN  | 
繁体中文  | zh_TW  | 
注意事项
使用国际化命名方式时,加语言后缀的模板元数据不应该勾选允许动态访问,模板中得到的元数据也是没有加后缀的模板的元数据比如index_zh_CN.html模板中获取的元数据就是index.html的元数据
            
        
            
        
0条评论