建材秒知道
登录
建材号 > 设计 > 正文

关于CMS系统设计(二)

感性的鸭子
如意的心情
2022-12-31 04:58:27

关于CMS系统设计(二)

最佳答案
甜蜜的小熊猫
机智的帽子
2025-08-22 10:54:41

写在前面:

我发现,当我养成定期摘读的习惯时,自己心里每天还觉得挺充实的。继续学习CMS系统的设计内容,我发现一个很有意思的事情,我在国外的媒介上搜索CMS,出来的都是毫不相关的内容,在国内网站上搜的,都是非常互联网化的内容。打心眼里觉得,如今国内互联网发展真的不输国外的,年轻一代付出的996,正在把国内互联网的一切变得更友好,更灵活。

不定期摘读一些对自己有用的文章,用于分享学习和记验收录,无其他商业用途

这两天3.8妇女节,各大电商又开始不断推出促销活动,借势营销。电商平台仿佛不愿意放过任一个可以作为营销话题的日子,不断推陈出新。经过10多年的电商经验积累,现在做起活动来游刃有余,丰富多样。

下图是我从淘宝、京东上取的两个活动页面,可以看出页面自定义程度很高,美观大方。另一种叫法叫做店铺装修或页面配置,那么问题来了, 这样一个自定义页面怎么配置?怎样通过系统化的方式实现页面动态配置。

淘宝、京东3.8节活动页

由于页面动态配置的内容较多,所以打算分两篇长文介绍,第一篇先讲页面动态配置的整体产品逻辑,第二篇详细描述各组件的功能,一直到组装之后的解析。

页面动态配置是CMS系统(内容管理系统)的一部分,在电商行业,CMS系统有时会局限用作页面动态配置的功能。有时也叫作“ 装修 ”,店铺装修、页面装修、自定义新页面。平台见到的首页管理和新建活动页面都属于此类范畴。

在PC电商时代,页面的自定义比作盖楼,添加一个楼层,每层可以自定义内容,譬如商品、优惠券、商品排名等。“淘宝旺铺“就是店铺装修发展出来的一门生意,淘宝店家可以选择基础模块的内容,编辑首页或新建页面,动态配置页面。

淘宝的店铺PC端自定义设置

在移动互联网时代,页面动态配置功能升级,可以自定义的要素越来越多,在页面布局上也更为灵活。可以选择添加ICON、banner、商品等模块。

京东的手机装修页面

可以把页面的动态配置比作乐高玩具,每一个组件就像乐高积木,可以用它搭建不同的乐高玩具,就类似组装成不同的动态页面。我将页面的动态配置分为3步:组件→ 位置+内容 → 动态页面,如下图。

页面动态配置

组件是动态页面的基础,提供给用户编辑具体展示的信息。有许多类型的组件:图片轮播、ICON、优惠券等,每种组件都可以有多个不同的样式,选择内部展示的内容或者自定义。用的最常见的就是链接,组件显示样式虽然多样,但是点击之后通往的页面选择库却是共通的。例如:新的活动页面、商品详情页、商品聚合页、购物车、客服等等。

基础组件的定义和解析是自定义页面的核心,不同的组件有不同的功能,表示不同类型的内容。每个组件都需要单独设计,定义其规则和样式。 例如ICON、图片轮播就是简单的图片展示,商品排名对应的算法较为复杂,需要实时去取动态排名。

有了组件之后,用户在设置或者系统在解析的时候,首先要确定组件在自定义页面中的位置。位置可以称为“楼层”,每个页面的各楼层可以定义名称、设置背景、配置内容,目前最主流的交互是拖动组件到相应的位置,设置内容之后实时预览,自定义页面动态可视化。

对于整个动态页面,需要定义生效时间、结束时间、活动页面名称等基础信息。设置之后可生成相应的链接进行预览。

动态页面是由不同的组件内容构成,首先按照各组件位置去解析,然后再去解析组件的内容(样式、图片/商品、背景、链接等)。按照上图的反向流程走,就能解析出对应的自定义页面内容。

首页设置也是相同,类似自定义页面,可动态设置首页内容,动态添加自定义组件。目前绝大部分电商首页都是动态配置,有着丰富的自定义内容。

配置组件有许多种,常见的图片轮播、 商品推荐、商品分类、 宝贝排行、图标(ICON)这几种形式,其实是富文本、 客服、优惠券、满减活动、满赠活动、自定义区域、商品搜索、文字、公告、倒计时、Tab组件(顶部、底部)。

丰富的自定义组件可以实现各式各样的活动页面,前面举例的京东、淘宝活动页都是通过CMS配置实现。

至于不同的组件设计和功能,下篇再详细讲解。

组件之间有些通用的自定义要素:

页面动态配置的整体产品逻辑基本已经介绍完毕,可以了解到,页面动态配置看似复杂,理顺之后发现其实就分为三个步骤,绝大部分的复杂度增加只是基础配置组件的丰富。

虽然CMS系统产品逻辑简单,但是页面要做到较高的自定义配置程度,需要技术框架的高效率和较强的可扩展性。在浏览一个自定义页面时,系统要逐步去解析该页面下的自定义组件内容和要素,运算量很大。

目前绝大部门电商公司的自定义页面仅仅停留在一个初级阶段,限于首页和少数特殊页面的自定义配置,而且自定义程度较低。本文提供了CMS系统的产品设计思路,落到实际项目中,还需要权衡实际需求和自定义配置程度之间的关系。

原文: http://www.woshipm.com/pd/602067.html](http://www.woshipm.com/pd/602067.html

最新回答
含蓄的项链
忧伤的小鸭子
2025-08-22 10:54:41

CMS系统多站点设计研究

多站点有隔离多站点 和 数据共享的多站点

1) 数据共享 的多站点,一般叫做 站群

就是每个站点有自己的权限体系,主要迎合政府的需求

2) 完全隔离 的

就是用户、 内容、 完全不互通, 主要是降低单个站点的成本。

站群的实现方式一:

在发布的tomcat 的webapps目录下,复制更换项目名(甚至连同更换模板文件),即可实现同样多站点访问部署。

站群的实现方式二:

目前要达到一种站群配置,就是更高程度的利用原来框架

具体实施方式一:通过权限控制,根据模版文件来实现各自独立站点。

具体实施方式二:通过域名控制来实现站群管理。

多站点访问设计。

更改为按域名。

import com.jfinal.aop.Interceptor

import com.jfinal.aop.Invocation

import com.jfinal.core.Controller

import com.jfinal.core.JFinal

import com.jfinal.plugin.activerecord.Record

import com.ofsoft.cms.admin.controller.system.SystemUtile

import com.ofsoft.cms.core.config.AdminConst

import com.ofsoft.cms.core.config.ErrorCode

import com.ofsoft.cms.core.config.FrontConst

import com.ofsoft.cms.core.uitle.SiteUtile

import javax.servlet.http.HttpServletRequest

import java.util.List

public class FrontInterceptor implements Interceptor {

public void intercept(Invocation ai) {

if (!SystemUtile.isInstall()) {

ai.getController().redirect(AdminConst.installHtml)

return

}

Controller controller = ai.getController()

HttpServletRequest request = controller.getRequest()

SiteUtile.setLocalRequest(request)

List<Record>list = SystemUtile.getSitCache()

Record site = null

if (list == null || list.size() <= 0) {

controller.renderJson(ErrorCode.get("10001"))

} else {

site = SiteUtile.getSite(request)

if (site == null) {

String server = request.getServerName()

System.out.println("=FrontInterceptor==="+server)

for (Record record : list) {

if (server.equals(record.getStr("domain_name"))) {

site = record

break//20190403---shenk-----add

}

}

}

if (site == null) {

SystemUtile.initSite()

site = SystemUtile.getDefualSitCache()

}

controller.setAttr(FrontConst.SITE_SESSION, site)

controller.setAttr("reroot",  http://JFinal.me() .getContextPath() + "/resource/" + site.get("template_path"))

SiteUtile.setSite(request, site)

SiteUtile.setSite(site)

//增加访问记录

SystemUtile.addAccessLog(request, site)

ai.invoke()

}

}

}

通过域名的方式,成功实现一个后台控制多个站点,即每个模板站点,都通过一个域名来访问,测试成功。

请看下图配置:

配置的4个子站,通过配置域名访问如下:

俏皮的钢铁侠
开放的舞蹈
2025-08-22 10:54:41
模板的设计,你可以理解成母板,就是做出来个样子,之后的网页按照这样的版面显示,即可。

基于模板的设计,一般是指,这个cms支持模板这样子的机制,可以通过你换模板,来达到换网页效果的意思,模板一般都为他们CMS所特有支持的。

比如新亿CMS的模板你拿到dedecms里是不能用的,因为他们的标签不一样,为什么标签不一样,这就是公司之间为了方便自己的,注明自己的模板。

慈祥的睫毛
秀丽的导师
2025-08-22 10:54:41
三张。

内容管理系统(CMS)是一种位于WEB前端(Web服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统,是企业信息化建设和电子政务的新宠。内容管理系统可建设具有独特个性的网站,“网站模板与网站程序完全分离”和“模板方案”是目前CMS的主流设计特点。

苗条的棒球
粗犷的帽子
2025-08-22 10:54:41
专业点说cms是Communication Management System的缩写,中文的意思:内容管理系统,一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以算是内容管理系统。简单点说,cms就是可以帮助站长把一个网站程序全部做完的系统,你要做的工作只是挑选模板,上传到空间,在适当的修改一下图片、添加网站内容就可以了。不需要人工的代码编辑、布局编排,大大的节省了站长建站的时间。

cms是设计和内容分开的,页面的设计储存在模板里,内容放在数据库中,这样分开存储有利于搜索引擎的抓取,打开页面的速度也会减少。一个cms应该要有的3个要素:文档模板、脚本语言或标记语言、与数据库集成。

1、文档模板

文档模板就是一些网站上提供的风格模板,用模板的最大好处是可以选择通用的设计元素以确保整个网站的协调。站长只需采用少量的模板代码,就可以完成一个网站的设计,然后就可以把精力集中在网站的内容了。

2、脚本语言或标记语言

内容的包含物由内嵌入页面的特殊标记控制。这些标记对于一个内容管理系统通常是唯一的。 这些系统通常有对较复杂的操作的语言支持,如 Python, Perl, 或 Java 等。

3、与数据库集成

cms支持数据库采集功能,可方便快速的迁移其它系统的access与ms sql新闻数据。

现在cms很多,都是在自夸什么功能强大、易用、扩展性强,哪个能真正的做到还在于站长的发觉。推荐网奇的iwms,成熟的cms系统,是站长建站的好帮手。

版权所有,网奇原创,转载请注明来源:IWMS CMS系统

爱撒娇的柠檬
简单的黑裤
2025-08-22 10:54:41
1、cms是内容管理系统,是一种位于WEB 前端和后端办公系统或流程之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。

2、cms是云管理服务,针对关键的企业级工作负载进行优化设计,是一个高安全性,使用者可充分管理的云计算基础架构服务。有高达 99.9% 的虚拟服务器可用性,并带来众多的私有云优势。

3、cms是视频监控系统的中心管理服务器。实现作为B2BUA应用服务器提供网络视频监控业务;作为管理中心提供客户/用户管理、前端/平台设备管理和虚拟域管理;作为存储中心存储用户数据和业务参数配置数据;作为Portal提供内容发布等功能。

4、cms是卡管理系统,通常为金融机构或商贸企业,用于管理本机构发行的磁条卡或芯片卡的系统。

5、cms是连锁管理体系,连锁企业完整的管理体系应包括标准—训练—考核—改进等有效流程环节。

尊敬的小蘑菇
风趣的发带
2025-08-22 10:54:41

内容管理系统可建设具有独特个性的网站.“网站模板与网站程序完全分离”和“模板方案”是CMS的主流设计特点,让网站的模板设计与程序彻底分开。设计者可以将每个频道、栏目甚至内容页面运用不同的模板,随时能编辑、修改网站界面,更能一键切换预设的模板方案,更换网站界面。

内容管理系统后台管理实现方便、易用、人性化的操作方式,创新采用书签式管理的Web界面,切换方便,节省使用者和浏览者的时间。所见即所得的编辑功能,可以在内容管理系统里直接进行文字的排版处理,还可以在线对图片进行简单处理。系统支持插入Flash、音频、视频、超链接、特殊字符等等。

内容管理系统使用基于角色的用户管理,通过添加不同权限的用户,可以将一个网站的管理权限分配给不同的用户。通过建立具有不同管理权限的用户组,可以将用户分成多种级别:超级管理员、栏目管理员、文档录入员、审核员等 一份内容从最初录入到最后发布到网站上,中间可以经过编辑初审、修改,管理员审批等,保证发布内容的质量。