DedeCMS 本身不是一个专业的电商系统,但它通过其强大的“自定义模型”和“自定义字段”功能,可以搭建出功能完善的商品展示网站,商品相关的标签主要分为两大类:

(图片来源网络,侵删)
- 列表页标签:用于在商品列表页(如首页、分类页、搜索页)循环输出多个商品。
- 内容页标签:用于在单个商品详情页(如
product.php)显示该商品的详细信息。
列表页标签
这些标签通常放在 {dede:list} 或 {dedarclist} 循环标签内,用于获取和显示每个商品的基本信息。
基础信息标签
这些标签用于显示商品的核心信息。
| 说明 | 示例 | |
|---|---|---|
[field:title/] |
<a href="[field:arcurl/]">[field:title/]</a> |
|
[field:arcurl/] |
商品详情页的完整链接 | <a href="[field:arcurl/]">查看详情</a> |
[field:litpic/] |
商品缩略图(通常是第一张图片) | <img src="[field:litpic/]" alt="[field:title/]"> |
[field:description/] |
商品摘要(简介) | [field:description function='cn_substr(@me, 100)'/] (截取100字符) |
[field:pubdate/] |
发布日期(Unix时间戳) | [field:pubdate function='MyDate('Y-m-d', @me)'/] (格式化为年-月-日) |
[field:click/] |
商品点击量(浏览次数) | 浏览: [field:click/] 次 |
自定义字段标签
这是 DedeCMS 实现电商功能的关键,你需要先在后台“核心” -> “频道模型” -> “内容模型管理”中为你的“商品模型”添加自定义字段,价格、品牌、库存、规格等。
假设你添加了一个名为 price 的字段(字段名为 price),标签调用方式如下:

(图片来源网络,侵删)
| 说明 | 示例 | |
|---|---|---|
[field:price/] |
调用名为 price 的自定义字段的值 |
价格: ¥[field:price/] |
[field:brand/] |
调用名为 brand 的自定义字段的值 |
品牌: [field:brand/] |
[field:specs/] |
调用名为 specs 的自定义字段的值 |
规格: [field:specs/] |
重要提示:
[field:字段名/]是最简单的调用方式,直接输出字段内容。- 如果需要对字段内容进行处理(如截取、替换等),可以使用
function属性。[field:shorttitle function='cn_substr(@me, 20)'/](截取短标题20个字符)[field:price function='number_format(@me, 2)'/](格式化价格为两位小数)
循环标签
列表页的核心是循环,最常用的是 {dede:list}。
{dede:list}
这个标签用于获取当前栏目下的文章列表(商品列表)。
基本语法:

(图片来源网络,侵删)
{dede:list pagesize='10'}
<!-- 循环体内的代码,会重复输出10次,即显示10个商品 -->
<li>
<a href="[field:arcurl/]">
<img src="[field:litpic/]" alt="[field:title/]">
<h3>[field:title/]</h3>
<p>¥[field:price/]</p>
</a>
</li>
{/dede:list}
常用属性:
pagesize='数字':设置每页显示的商品数量。pagesize='12'表示每页显示12个商品。col='数字':设置每行显示的列数。col='3'表示每行3个商品,len='数字'长度,例如titlelen='30'` 表示标题最多显示30个字符。infolen='数字':摘要长度。infolen='100'表示摘要最多显示100个字符。
分页标签
列表页必须有分页功能,在 {dede:list} 循环结束后,添加以下标签:
<!-- 分页 -->
<div class="dede_pages">
<ul>
{dede:pagelist listsize='4' listitem='index,pre,next,end,option'/}
</ul>
</div>
{dede:pagelist} 的常用属性:
listsize='数字':显示的页码按钮数量,listsize='4'会显示... 2 3 4 5 6 ...这样的效果。listitem='...':控制显示哪些分页元素。index: 首页pre: 上一页pageno: 当前页next: 下一页end: 末页option: 下拉跳转框
内容页标签
这些标签用于在单个商品详情页(article_product.htm)显示该商品的完整信息。
基础信息标签
| 说明 | 示例 | |
|---|---|---|
{dede:field.title/} |
<h1>{dede:field.title/}</h1> |
|
{dede:field.pubdate function='MyDate('Y-m-d H:i:s', @me)'/} |
发布日期 | 发布时间: {dede:field.pubdate function='MyDate('Y-m-d H:i:s', @me)'/} |
{dede:field.click/} |
点击量 | 浏览次数: {dede:field.click/} |
{dede:field.source/} |
来源 | 来源: {dede:field.source/} |
{dede:field.writer/} |
作者 | 作者: {dede:field.writer/} |
自定义字段标签
页调用自定义字段非常直接,使用 {dede:field.字段名/}。
| 说明 | 示例 | |
|---|---|---|
{dede:field.price/} |
商品价格 | 价格: ¥{dede:field.price/} |
{dede:field.brand/} |
商品品牌 | 品牌: {dede:field.brand/} |
{dede:field.stock/} |
商品库存 | 库存: {dede:field.stock/} 件 |
{dede:field.weight/} |
商品重量 | 重量: {dede:field.weight/} kg |
{dede:field.keywords/} |
商品关键词 | |
{dede:field.description/} |
商品描述 |
内容与图片
| 说明 | 示例 | |
|---|---|---|
{dede:field.body/} |
最重要的标签,输出商品详情的正文内容(包含所有文字、图片、表格等)。 | <div class="product-detail">{dede:field.body/}</div> |
{dede:img text=''/} |
页中调用文章里的图片。text 属性是图片的说明文字。 |
{dede:img text='产品主图'/} |
表单与互动
这些标签用于生成购买、咨询等表单。
| 说明 | 示例 | |
|---|---|---|
{dede:phpinfo/} |
调用自定义表单,你需要先在后台创建一个自定义表单(如“购买咨询”),然后在这里调用。 | {dede:phpinfo/} (需要替换成你创建的表单名,如 {dede:buyform/}) |
{dede:include filename='plus/feeaddder.php'/} |
调用评论/评分功能,需要确保开启了评论功能。 | {dede:include filename='plus/feeaddder.php'/} |
通用与高级标签
栏目导航标签
用于生成网站的商品分类导航。
{dede:channel type='top'}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
type='top': 只调用顶级栏目,如果需要调用子栏目,可以改为type='son'或type='self'。
搜索表单标签
用于生成商品搜索框。
<form action="{dede:global.cfg_cmspath/}/search.php" name="search">
<input type="hidden" name="kwtype" value="0" />
<input type="text" name="q" placeholder="请输入商品关键词" />
<button type="submit">搜索</button>
</form>
调用相关/推荐商品
在商品详情页,通常需要展示相关或推荐商品。
调用相关商品(同栏目下的其他商品)
{dede:likeart title='相关商品' row='4'}
<li>
<a href="[field:arcurl/]">
<img src="[field:litpic/]" alt="[field:title/]">
<p>[field:title function='cn_substr(@me, 20)'/]</p>
<p>¥[field:price/]</p>
</a>
</li>
{/dede:likeart}
'...'`: 设置模块标题。
row='数字': 设置显示的数量。
总结与最佳实践
- 模型先行:在制作任何商品模板之前,务必先在后台设计好你的“商品模型”,并添加好所有需要的自定义字段(如价格、品牌等)。
- 命名规范:自定义字段的“字段名”最好使用英文或拼音,如
price,product_brand,避免使用中文,以免在调用时出错。 - 善用
function:对文本类字段(如标题、进行长度截取,可以保证页面布局的美观。[field:title function='cn_substr(@me, 30)'/]。 - 模板缓存:DedeCMS 有强大的模板缓存功能,修改模板后,如果看不到效果,可以去后台“系统” -> “一键更新网站” -> “更新HTML”里更新一下对应页面,或者清空缓存。
- CSS 布局:列表页的
col属性只能控制列数,具体的样式(如网格布局、弹性布局)需要通过 CSS 来实现,不要完全依赖col来做复杂的布局。
希望这份详细的标签指南能帮助你更好地使用 DedeCMS 开发商品网站!
