什么是“字段式网站”?
我们来明确一下“字段式网站”的概念。

(图片来源网络,侵删)
-
传统织梦(模板式网站):
- 核心思想: 内容与表现强耦合,你在后台发布一篇文章,系统会自动调用一个固定的文章模板(
article_article.htm、内容、作者等信息“填充”进去。 - 工作流: 内容 → 选择固定模板 → 生成静态页面。
- 优点: 简单直接,适合新闻、博客等结构单一的内容。
- 缺点: 灵活性差,如果你想给某一篇文章添加一个“视频链接”或“下载地址”,就需要修改数据库、修改模型、修改模板,非常繁琐且容易出错,所有文章都长得一个样。
- 核心思想: 内容与表现强耦合,你在后台发布一篇文章,系统会自动调用一个固定的文章模板(
-
字段式网站(模型化/组件化网站):
- 核心思想: 内容与表现分离,先定义“内容需要哪些信息(字段)”,然后再用“组件”自由地组合这些信息来构建页面。
- 工作流:
- 创建模型: 在后台定义一个内容类型,产品”,为这个模型添加各种字段,如:产品名称(单行文本)、产品价格(数字)、产品图片(图片集)、产品规格(多行文本)、是否推荐(布尔值)等。
- 发布“产品”时,就会看到你定义好的这些字段,像填表一样填写信息。
- 自由布局: 在页面模板中,你可以通过拖拽或调用标签,自由地将这些字段(如
[field:pic/]、[field:price/])组合、排版,生成千变万化的页面。
- 优点: 极其灵活、扩展性强、内容结构化、便于SEO和二次开发,每个页面都可以是独一无二的。
一个简单的比喻:
- 传统织梦 像是用固定模具做饼干,所有饼干形状都一样。
- 字段式网站 像是拥有一个食材库(字段),你可以用这些食材自由地拼盘,每一道菜(页面)都可以有不同的搭配和造型。
为什么要改造织梦成字段式网站?
- 灵活性极大提升: 不再受限于固定的文章模型,可以轻松创建产品、案例、招聘、人物、下载等任何类型的内容,并为它们定义专属的字段。
- 内容结构化: 数据被清晰地存储在各自的字段中,便于数据统计、筛选、排序和API调用,对SEO友好(如结构化数据)。
- 开发效率高: 对于开发者来说,不再需要频繁修改数据库和模板,通过调整模型和字段,就能快速适应业务需求的变化。
- 维护成本低: 后台内容管理逻辑清晰,前台展示自由,前后端职责分明,降低了长期维护的难度。
改造的核心思路
改造的核心就是将织梦从“以文章为中心”转变为“以模型和字段为中心”。

(图片来源网络,侵删)
- 弱化“文章”概念: 不再把所有内容都当作“文章”来发布。
- 强化“模型”功能: 充分利用织梦自带的“频道模型”功能,这是实现字段式网站的基础。
- 自定义“自由列表”: 使用织梦的“自由列表”功能,可以不受栏目限制,跨模型、跨字段地调用和展示内容,是实现复杂页面的利器。
- 模板化“组件”: 将常用的字段组合(如产品卡片、新闻摘要)做成独立的模板文件,通过
{dede:include}或自定义标签来调用,实现组件化开发。
具体改造步骤(以创建一个“产品展示”频道为例)
假设我们要做一个企业官网,需要一个“产品中心”频道,每个产品都有图片、名称、简介、详细参数和PDF下载链接。
第一步:创建一个新的频道模型
- 登录织梦后台,进入【核心】 -> 【频道模型】 -> 【内容模型管理】。
- 点击【增加一个新模型】。
- 填写模型信息:
- 模型名称: 产品 (这个名字会出现在后台菜单)
- 表前缀:
dede_addonproduct(系统会自动生成,无需修改) - 模型表:
dede_addonproduct(系统会自动生成,无需修改) - 名称规则:
{typedir}/{Y}/{M}{D}/{aid}.html(自定义URL规则) - 简介: 用于产品列表页的简短描述。
- 用于产品详情页的详细介绍。
- 点击【保存】。 你已经创建了一个最基础的“产品”模型,它自带了“标题”、“简介”和“内容”三个字段。
第二步:为模型添加自定义字段
这是最关键的一步,让我们的“产品”模型与众不同。
-
模型管理】页面,找到你刚刚创建的“产品”模型,点击后面的【管理字段】。
-
点击【增加新字段】。
(图片来源网络,侵删) -
逐个添加我们需要的字段:
-
字段1:产品主图
- 字段名称: pic (英文,用于模板调用)
- 产品主图 (中文,用于后台显示)
- 字段类型: 图片(单图) (选择这个类型,上传后会自动生成缩略图)
- 字段大小: 100 (设置上传图片的最大宽度)
- 是否显示: 勾选
- 其他选项保持默认,点击【保存】。
-
字段2:产品价格
- 字段名称: price
- 产品价格
- 字段类型: 数字
- 默认值: 0
- 是否显示: 勾选
- 点击【保存】。
-
字段3:产品参数
- 字段名称: specs
- 产品参数
- 字段类型: 多行文本
- 是否显示: 勾选
- 点击【保存】。
-
字段4:下载链接
- 字段名称: downloadurl
- 下载链接
- 字段类型: 文件
- 是否显示: 勾选
- 点击【保存】。
-
-
字段添加完成后,你的“产品”模型就拥有了标题、简介、内容、pic、price、specs、downloadurl等丰富的字段。
第三步:创建栏目并绑定模型
- 进入【核心】 -> 【栏目管理】。
- 点击【增加顶级栏目】。
- 栏目名称: 产品中心
- 栏目类型: 选择【频道】
- 选择你刚刚创建的【产品】模型。
- 列表模板: 选择或创建一个产品列表页模板(如
list_product.htm)。 - 文章命名规则: 与模型中的规则保持一致。
- 点击【确定】,你可以在“产品中心”下再创建子栏目,产品分类A”、“产品分类B”,它们都会自动继承“产品”模型。
第四步:创建和修改模板
现在需要创建三个模板文件:列表页模板、详情页模板和一个通用的产品卡片组件。
-
创建产品列表页模板 (
list_product.htm)- 在
/templets/default/目录下创建此文件。 - 内容示例:
<!DOCTYPE html> <html> <head> <title>{dede:field.title/}</title> <meta name="description" content="{dede:field.seo_description/}" /> </head> <body> <h1>{dede:field.title/}</h1> <ul class="product-list"> {dede:list pagesize='12'} <li> <!-- 调用我们自定义的字段 --> <a href="[field:arcurl/]"> <img src="[field:pic/]" alt="[field:title/]"> <h3>[field:title/]</h3> <p class="price">价格:¥[field:price/]</p> <p class="summary">[field:info function='cn_substr(@me,100)'/]...</p> </a> </li> {/dede:list} </ul> <!-- 分页 --> <div class="dede_pages"> <ul>{dede:pagelist listsize='4'/}</ul> </div> </body> </html> - 关键点: 在
{dede:list}标签中,可以直接使用[field:自定义字段名/]来调用我们添加的字段。
- 在
-
创建产品详情页模板 (
article_product.htm)- 这个模板会自动被系统识别,用于显示单个产品详情。
- 内容示例:
<!DOCTYPE html> <html> <head> <title>{dede:field.title/} - {dede:global.cfg_webname/}</title> </head> <body> <h1>{dede:field.title/}</h1> <div class="product-main-image"> <img src="{dede:field.pic/}" alt="{dede:field.title/}"> </div> <div class="product-info"> <p class="price"><strong>价格:</strong>¥{dede:field.price/}</p> <div class="product-specs"> <h3>产品参数</h3> <pre>{dede:field.specs/}</pre> </div> <div class="product-content"> <h3>产品详情</h3> {dede:field.body/} </div> {dede:field.downloadurl runphp='yes'} if(@me != '') { echo '<div class="download-link"><a href="'.@me.'" target="_blank">下载产品手册</a></div>'; } {/dede:field.downloadurl} </div> </body> </html> - 关键点: 直接使用
{dede:field.字段名/}来调用详情页的所有字段,包括我们自定义的。
-
(可选)创建产品卡片组件
- 如果你的首页、其他页面也需要展示产品,可以把产品列表的HTML结构抽出来,做成一个独立的模板文件,
product_card.htm。 - 然后在需要的地方使用
{dede:include file='product_card.htm'/}或自定义标签来调用,实现复用。
- 如果你的首页、其他页面也需要展示产品,可以把产品列表的HTML结构抽出来,做成一个独立的模板文件,
第五步:测试和发布
- 清理织梦缓存:后台 -> 【系统】 -> 【一键更新网站】 -> 更新缓存。
- 管理】 -> 】,你应该能看到一个新的选项,添加产品”。
- 点击“添加产品”,你会发现后台发布界面已经变成了我们自定义的字段表单。
- 填写一些测试数据,发布。
- 访问你创建的“产品中心”栏目列表页和产品详情页,检查是否正常显示。
进阶技巧与注意事项
- 使用自由列表: 如果你想做一个“热门推荐产品”模块,它需要同时从不同产品分类中调用,就可以使用【自由列表】功能,它能让你跨栏目、按自定义条件调用数据。
- 字段类型: 织梦提供了丰富的字段类型,如
枚举/单选、枚举/多选、联动类型(用于省市区选择)、编辑器等,善用它们可以让后台管理更直观。 - 前端框架: 现代网站开发通常结合Vue/React等前端框架,字段式网站的结构化数据非常适合通过API(织梦可以开启或开发API接口)提供给前端,前端负责渲染和交互,实现前后端分离。
- 备份数据: 在进行任何模型和字段的修改前,务必备份数据库!错误的操作可能导致数据丢失。
通过以上步骤,你就成功地将传统的织梦CMS改造为了一个灵活、强大的字段式网站,这种改造方式让你的网站不再是一个简单的“文章发布系统”,而是一个真正可以适应各种复杂业务需求的“内容管理平台”。
