核心思路:织梦本身不是一个电商系统
首先要明确一点,织梦CMS(DedeCMS)的核心是一个内容管理系统,而不是像Shopify、Magento那样的专业电商系统,它的强项在于文章、图集、单页内容的发布和管理。

在织梦上实现购物功能,本质上是将电商功能“嫁接”到内容管理系统之上,最常见的方式是利用其强大的“自定义模型”功能,将“商品”变成一种特殊的“内容”类型。
使用织梦的自定义模型 + 购物车插件(最常用、最灵活)
这是最主流、最推荐的方式,尤其适合有一定技术能力,希望深度定制网站功能和样式的用户。
工作原理:
- 创建商品模型:在织梦后台创建一个新的“数据模型”,用来定义商品需要包含的字段,如:价格、SKU、库存、规格、品牌、重量等。
- 生成商品栏目:创建一个栏目,并将其绑定到刚才创建的商品模型,这个栏目就相当于你的“商品分类”。
- 发布商品内容:在商品分类下发布文章,但这里的“文章”就是你的“商品”,填写你自定义的字段(价格、库存等)。
- 调用和展示:通过织梦的标签(如
{dede:arclist})和自定义模型标签,在前台页面循环调用并展示商品列表、商品详情。 - 集成购物车功能:安装一个购物车插件或系统,这个插件会处理用户将商品加入购物车、修改数量、结算等核心逻辑,它通常通过操作织梦的Session和数据库来实现。
方式一详细实施步骤
第一步:准备工作
- 环境:确保你的服务器支持PHP + MySQL,并已成功安装织梦CMS。
- 备份:在进行任何重大操作前,务必备份你的网站数据库和程序文件。
- FTP/SFTP工具:用于上传文件。
第二步:创建自定义商品模型
这是最关键的一步,它决定了你的商品能包含哪些信息。

-
登录织梦后台,进入 【核心】 -> 【频道模型】 -> 【添加新模型】。
-
模型名称:填写
商品。 -
模型表:使用默认的
dede_addonshop或让系统自动创建一个新表(推荐后者,避免冲突)。 -
模型字段:这是核心,点击 【管理字段】,开始添加商品所需的各种字段。
(图片来源网络,侵删)-
基础字段:织梦自带的标题、作者、来源、发布时间等已经足够。
-
自定义字段:点击 【添加新字段】,逐个添加:
- 字段名:
price(必须英文) - :
商品价格 - 字段类型:
数字 - 是否为空:
否 - 默认值:
0 - 其他选项:根据需要设置,如“在列表页显示”、“使用单位”等。
- 字段名:
-
继续添加其他重要字段:
sku(文本,商品唯一编码)stock(数字,库存数量)weight(数字,商品重量)brand(文本/下拉,商品品牌)sales(数字,销量)sales_price(数字,促销价)product_pic(图片,商品主图)gallery(多图,商品相册)content(文本area,商品详情描述)
-
-
保存模型:所有字段添加完毕后,保存并生成模型。
第三步:创建商品栏目
- 进入 【栏目】 -> 【添加栏目】。
- 栏目名称:
手机数码。 - 栏目类型:选择
频道栏目。 - 模型:选择你刚刚创建的
商品模型。 - 列表选项:设置好栏目模板(
list_article.htm)和文章模板(article_article.htm),你可以自己修改这些模板来设计商品列表页和详情页的样式。 - 高级选项:根据需要设置,如是否允许投稿等。
- 保存,重复此步骤,创建其他商品分类(如“电脑办公”、“家用电器”)。
第四步:安装购物车系统
购物车功能非常复杂,自己开发不现实,通常使用现成的解决方案。
-
寻找插件:
- 官方市场:在织梦官方论坛或市场寻找“织梦商城插件”、“织梦购物车”。
- 第三方开发者:在淘宝、码市等平台寻找成熟的商业插件或定制服务。
- 开源方案:一些开发者会基于开源的电商系统(如ECShop)进行二次开发,并适配织梦。
-
安装插件:
- 下载插件包,通常包含
plus目录下的PHP文件、images目录下的图片文件,以及一些需要覆盖的织梦核心文件。 - 通过FTP将文件上传到你网站的对应目录。
- 根据插件的说明文档,在织梦后台进行安装(通常是运行一个SQL文件或通过后台菜单激活)。
- 下载插件包,通常包含
-
配置购物车:
- 购物车插件通常有自己的后台管理界面,用于设置配送方式、支付接口(支付宝、微信支付等)、订单流程等。
- 关键点:确保购物车插件能正确识别你自定义的“商品模型”中的字段(如
price、stock),并能将其加入购物车和订单中。
第五步:修改模板,集成购物功能
你需要将购物车的按钮和功能嵌入到你的商品页面中。
- 打开商品详情页模板:通常是
/templets/default/article_article.htm(或你自定义的模板)。 - 在合适的位置添加购物车代码:
- 通常在商品价格、库存信息下方,添加“加入购物车”、“立即购买”等按钮。
- 这些按钮的链接和JS代码,通常由购物车插件提供。
<a href="javascript:;" onclick="addToCart({dede:field.id/});">加入购物车</a>
- 调用商品数据:在模板中,使用织梦标签调用你自定义的字段来展示商品信息。
- 调用价格:
{dede:field.price/} - 调用库存:
{dede:field.stock/} - 调用主图:
<img src="{dede:field.product_pic function='str_replace(@me, "", @me)'/}" alt="{dede:field.title/}"> - 注意:你可能需要修改
include/arc.archives.class.php文件,让你的自定义字段能在详情页模板中通过{dede:field.xxx/}正确调用,具体修改方法可以搜索“织梦自定义字段在详情页调用”。
- 调用价格:
第六步:测试与优化
- 完整流程测试:从浏览商品 -> 加入购物车 -> 查看购物车 -> 生成订单 -> 选择支付 -> 查看订单状态,完整地走一遍所有流程。
- 样式调整:使用CSS美化你的商品列表和购物车界面,使其与网站整体风格统一。
- 性能优化:商品列表如果很多,要注意分页和缓存,避免网站加载缓慢。
使用成熟的第三方电商系统(如ECShop)
这种方式更简单直接,适合不想过多折腾技术细节,只想快速上线一个功能完善的商城的用户。
工作原理: 将织梦作为网站的“门面”和内容区,将ECShop等专业电商系统作为“商城”功能区,两者通过某种方式(如用户同步、页面嵌套)进行整合。
实施步骤:
-
独立安装:在你的网站根目录下创建一个
shop文件夹,然后将ECShop(或其他电商系统)上传并安装到这个文件夹里,这样你就拥有了一个独立的商城系统,www.yourdomain.com/shop。 -
整合方案选择:
- 简单整合(用户同步):
- 修改ECShop的用户表,使其与织梦的用户表(
dede_member)关联。 - 这样用户在织梦注册后,就可以直接登录ECShop商城,反之亦然。
- 这种整合比较基础,两个系统在后台是分开管理的。
- 修改ECShop的用户表,使其与织梦的用户表(
- 深度整合(页面嵌套):
- 在织梦的某个页面(如“联系我们”旁边)添加一个“商城”菜单。
- 点击“商城”时,通过
iframe标签将ECShop的首页嵌套到织梦的页面中。 - 这种方式用户体验不统一,URL会显示
www.yourdomain.com/shop/...,而不是在织梦域名下。
- 简单整合(用户同步):
-
优缺点分析:
- 优点:
- 功能强大、稳定、专业,支付、物流、订单管理、会员等级等功能都非常完善。
- 开发量小,上线快。
- 缺点:
- 样式不统一:很难将ECShop的样式完全修改成与织梦网站一模一样。
- 技术栈分离:两个系统是独立的,更新和维护比较麻烦。
- URL结构:商城部分的URL与网站主站不同,不利于SEO和品牌统一。
- 优点:
总结与对比
| 特性 | 织梦自定义模型 + 购物车插件 | 集成第三方电商系统 |
|---|---|---|
| 灵活性 | 极高,完全自定义商品字段和页面样式,深度集成。 | 较低,受限于第三方系统的模板和功能。 |
| 功能完整性 | 取决于插件,好插件功能强大,但需要自己寻找和配置。 | 非常高,成熟电商系统功能全面,经过市场验证。 |
| 技术门槛 | 高,需要理解织梦模型、标签、模板修改,甚至PHP代码。 | 低,主要工作是安装和配置,技术细节被封装。 |
| 开发与维护 | 复杂,所有功能都需要自己或开发者搭建和维护。 | 简单,商城部分由第三方系统维护,只需更新织梦部分。 |
| SEO友好度 | 极高,所有商品内容都在织梦主站内,URL结构统一,利于SEO。 | 较低,商城部分通常是独立域名或子目录,与主站分离。 |
| 推荐人群 | 有一定开发能力,追求高度定制化和SEO优站的用户。 | 追求快速上线,对技术不熟悉,且对样式统一性要求不高的用户。 |
最终建议:
- 对于大多数中小型网站,特别是重视SEO和品牌统一性的网站,强烈推荐方式一,虽然前期投入精力较多,但一旦搭建完成,你会拥有一个完全可控、功能强大且与网站无缝融合的购物系统。
- 如果你的网站内容很少,只是想快速增加一个卖货功能,并且不介意商城部分看起来和主站有点不一样,那么方式二是一个更省力的选择。
