publiccms 总结(二)
最近公司使用cms框架重构了一些官网,通过框架目的实现静态化,并且可以做seo优化,下面是我使用cms框架重构官网的心得,之前官网是前后台分离模式开发,后台使用的若依框架搭建的后台系统,前端使用vue框架写的页面。
Cms开发流程
-
搭建所有模板H5页面
定制化创建,没有形成模板。
建议归类模板管理:如:banner、新闻列表、新闻详情、普通详情、腰带、底部 -
配置站点信息
坑: 新建站点时,下一次登录没有站点菜单,如果在前站点修改配置站点信息会出现 站点菜单
原因:没找到。 (1)尝试找到之前站点配置页面。 (2)采用不新建站点,可以直接修改 -
导入依赖文件 css js image
-
制作模板 必须使用freemark语法
a) 开发阶段使用动态访问可以实时看到效果,方便开发调试模板
b) 开发新闻相关模板的坑
i. 首页显示新闻时必须统一格式显示,这样可以使用对应模板语法显示内容,如果首页不用统一的格式显示,后期不好维护首页的新闻。
ii. 新闻尽量使用动态访问,因为这样对新闻列表做分页处理。
iii. 新闻列表有可能做静态化模板,可能需要后台url重写,给用户一种假象的静态化。
https://news.xxx.com/total.html?id=33&&user_id=9258
https://news.xxx.com/jtyw-list.html?id=1&&page_index=2
https://www.xxx.com/news/01/00001.html
https://www.xxx.com/news/02/00002.html
c) 内容模型
i. 需要给分类指定特殊的内容模型
ii. 创建内容模型必须独立 不能做数据共享
iii. 静态化时 要选用静态化的配置 -
配置
a) 针对不同的模板配置所需要的信息。
b) 其实配置中的字段就是 cms框架实现的对应的接口。
c) 要区分配置是元数据的配置(可以理解局部配置),和站点配置(全局配置)
d) 运维人用的菜单选项有:个人 内容 运维 页面 -
静态化
a) 在部署上线之前要做静态化处理
b) 分类需要静态化
c) 内容需要静态化 -
静态化后可以看到在本地静态化的效果,并且在后台上传的图片,可以提前预览图片效果,cms系统根据时间创建的目录。
-
临时性替代
部署过程
- 导入对应的data数据和mysql文件
- 配置线上域名 需要 tomcat/nginx配置
- 主要区分 动态域名配置和静态域名配置
注意
- 有条件的话建议先部署在开发,如果公司不能这样就先本地搭建再部署。
- 如果不做2此开发时,我是基于人家的war包开发,咋样下载和安装,并且新版本和老版本咋样初始化数据库上一篇已经将结果
- 老版本publiccms的开发后的文件,都在 服务器中tomcat 里,新版都在c盘根目录 data文件里,这个是自动生成的。
- 我们导入对应的文件,要给予对应文件的权限 不然 我们的后台不能操作增删改查
- 我们改变数据库中的值,我们要想让后台同步更新,我们必须在 站点管理 重建一下索引,就可以看到数据库改变后的效果。
- 在老版本中,我们不要去新建站点,因为新建后站点,没有最高权限去控制站点配置选项菜单。尽量在当前站点配置对应的 IP和 动态域名 静态域名
- 使用nginx 反向代理到 静态化后的首页,
- 一个tomcat可以启动多个cms框架,这样会导致多个cms项目会卡。
后端
- 先部署再开发与先开发再部署的差异 (online-debug)
- 站点采用默认站点
- 域名与路径规则
http://www.xxx.com
http://123.xxx.com 子网站、子系统、子项目 http://oa.xxx.com http://crm.xxx.com http://xinmi.xxx.com/ylqx/
http://www.xxx.com/newslist/ 目标目录 www.xxx.com/about/zhaopin/
官网原则:子目录对应子菜单 - 重新规则要具体
使用nginx 重写 url - Tomcat 一对多