织梦自定义标签怎么制作?

99ANYc3cd6
预计阅读时长 20 分钟
位置: 首页 织梦建站 正文

织梦的自定义标签功能非常强大,它允许你创建一个全新的数据模型,用于存储和展示除了文章、图集、软件等默认模型之外的其他任何类型的信息,比如常见的:产品展示、招聘信息、留言板、活动报名、会员注册、房产信息等等。

织梦自定义标签怎么做
(图片来源网络,侵删)

整个过程可以分为两大步:

  1. 后台创建数据模型:在织梦后台定义你需要存储的字段(如标题、价格、描述、图片等)。
  2. 前台调用和展示:在前台模板文件中使用织梦的标签语法 {dede:arclist}{dede:list} 来调用你创建的数据并展示出来。

下面我们以一个最经典的例子——“产品展示”——来一步步讲解。


第一步:在织梦后台创建自定义数据模型

创建数据表(表前缀)

织梦的自定义模型需要对应一个单独的数据表,这个表名通常由“#@_”加上你在后台设置的表前缀组成。

  • 操作路径:登录织梦后台 -> 核心 -> 频道模型 -> 内容模型管理

    织梦自定义标签怎么做
    (图片来源网络,侵删)
  • 操作:点击右上角的 [增加一个内容模型] 按钮。

  • 填写信息

    • 模型名称:给你的模型起个名字,产品”。
    • 英文模型名:英文名称,用于系统内部识别,建议用英文或拼音,product”。
    • 数据表类型:选择“独立数据表”。
    • 是否支持投稿:根据你的需求选择,产品展示一般不需要,选择“”。
    • 列表命名规则:可以保持默认,也可以自定义,{typedir}/product_{page}.html
    • 命名规则:保持默认即可。
  • 点击提交:提交后,织梦会自动在数据库中为你创建一个数据表,表名会是 #@_product(如果你的表前缀是 dede_,那么就是 dede_product)。

添加字段

这是最关键的一步,决定了你的产品信息能包含哪些内容。

织梦自定义标签怎么做
(图片来源网络,侵删)
  • 操作路径:仍在 核心 -> 频道模型 -> 内容模型管理 页面。

  • 操作:找到你刚刚创建的“产品”模型,点击右侧的 [字段管理] 按钮。

  • 添加字段:点击 [增加字段] 按钮。

现在我们来为“产品”模型添加一些常用字段:

字段名称 字段标识 字段类型 字段参数 说明
title 单行文本 默认 产品的名称,系统自带,无需添加。
产品价格 price 数字 默认 产品的价格。
产品规格 guige 单行文本 默认 产品的规格,如“500g/瓶”。
产品图片 pic 多媒体(图片) 默认 产品的主图。
产品详情 content HTML文本 默认 产品的详细描述,系统自带,无需添加。
是否推荐 tuijian radio 选项值:是,否 用于标记是否为推荐产品。

添加字段的具体操作(以价格为例):

  1. 字段名称:填写“产品价格”。
  2. 字段标识:填写“price”,这个是关键,前台调用时要用到,必须是英文或数字。
  3. 字段类型:选择“数字”。
  4. 其他选项:可以根据需要设置是否为必填、在列表页是否显示等。
  5. 点击 [保存] 按钮。

用同样的方法,添加“guige”(单行文本)、“pic”(图片)、“tuijian”(单选按钮)等其他字段。

生成栏目

模型创建好后,你需要一个栏目来存放这些“产品”。

  • 操作路径核心 -> 栏目管理 -> 添加主栏目
  • 操作
    1. 栏目名称:填写“产品中心”。
    2. 栏目类型非常重要! 选择你刚刚创建的模型,即“产品”。
    3. 其他选项(如栏目目录、列表模板等)按需填写。
    4. 点击确定。

你的自定义模型和栏目都已经准备好了。


第二步:在前台模板中调用和展示数据

后台设置完毕,接下来就是在前台展示这些产品信息了。

准备模板文件

你需要创建两个模板文件:

  • 列表页模板 (list_product.html):用于展示产品列表。

  • 内容页模板 (article_product.html):用于展示单个产品的详细页面。

  • 存放位置:将这两个文件上传到你的模板目录(通常是 /templets/default/ 或你自定义的目录)下。

编写列表页模板 (list_product.html)

列表页通常用于展示多个产品的摘要信息,比如标题、图片、价格等。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">{dede:field.title/}</title>
    <link rel="stylesheet" href="/templets/default/style.css">
</head>
<body>
    <h1>{dede:field.title/}</h1>
    <!-- 使用 {dede:list} 标签循环输出产品列表 -->
    {dede:list pagesize='10'}
    <div class="product-item">
        <!-- 调用产品图片,如果没有则使用默认图 -->
        <a href="[field:arcurl/]">
            <img src="[field:pic runphp='yes'] 
                if(@me=='') @me = '/templets/default/images/default.jpg'; 
                else @me = @me; 
                [/field:pic]" alt="[field:title/]" />
        </a>
        <h2><a href="[field:arcurl/]">[field:title/]</a></h2>
        <p>价格:<strong>¥[field:price/]</strong></p>
        <p>规格:[field:guige/]</p>
        <!-- 调用单选按钮字段,显示对应的文字 -->
        <p>推荐状态:[field:tuijian function='(@me=="是" ? "<span style='color:red;'>已推荐</span>" : "普通")'/]</p>
    </div>
    {/dede:list}
    <!-- 分页 -->
    <div class="dede_pages">
        <ul>{dede:pagelist listsize='4'/}</ul>
    </div>
</body>
</html>

关键点解释:

  • {dede:list}:这是调用自定义模型列表的核心标签,它会自动查询你当前栏目下的所有内容。
  • [field:字段标识/]:这是调用单个字段内容的方式。字段标识 就是你第一步在后台添加字段时填写的“字段标识”,如 [field:price/][field:pic/]
  • [field:arcurl/]:这是系统内置的标签,用于获取当前文章的链接地址。
  • runphp='yes':可以在标签内执行PHP代码,这里用来判断图片字段是否为空,如果为空则显示一个默认图片。
  • function='...':可以对字段内容进行函数处理,这里用来将“是/否”转换成更友好的显示文字。

页模板 (article_product.html)

页用于展示单个产品的完整信息。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">{dede:field.title/} - {dede:global.cfg_webname/}</title>
</head>
<body>
    <h1>{dede:field.title/}</h1>
    <div class="product-detail">
        <!-- 产品大图 -->
        <img src="{dede:field.pic/}" alt="{dede:field.title/}" />
        <div class="info">
            <p><strong>价格:</strong>¥{dede:field.price/}</p>
            <p><strong>规格:</strong>{dede:field.guige/}</p>
            <p><strong>推荐状态:</strong>{dede:field.tuijian/}</p>
        </div>
        <div class="content">
            <h3>产品详情</h3>
            <!-- 调用产品详情内容 -->
            {dede:field.content/}
        </div>
    </div>
</body>
</html>

关键点解释:页模板中直接使用 {dede:field.字段标识/} 即可调用对应字段的值。

  • {dede:field.content/} 会调用你编辑产品时填写的详细内容。

绑定模板

最后一步,需要将你创建的模板文件与栏目关联起来。

  • 操作路径核心 -> 栏目管理
  • 操作:找到你的“产品中心”栏目,点击后面的 [更改]
  • 在弹出的页面中,找到:
    • 列表模板:选择你上传的 list_product.html
    • 文章模板:选择你上传的 article_product.html
  • 点击 [保存] 即可。

总结与注意事项

  1. 模型和栏目:自定义标签的本质是“先创建模型,再创建使用该模型的栏目”。
  2. 字段标识:后台添加字段时,字段标识(英文)是前台调用的唯一凭证,务必记好。
  3. 模板标签
    • 列表页用 {dede:list}
    • 内容页用 {dede:field}
    • 分页用 {dede:pagelist}
  4. 权限:确保你的网站目录有写入权限,以便织梦生成静态页面。
  5. 调试:如果前台不显示数据,请检查:
    • 栏目是否正确绑定了模板。
    • 模板中的标签名称和字段标识是否完全匹配。
    • 该栏目下是否有添加任何内容。

通过以上步骤,你就可以成功创建并使用织梦的自定义标签了,这个功能非常灵活,只要理解了“模型-字段-栏目-模板”这个逻辑链,你就能创建出各种复杂的功能模块。

-- 展开阅读全文 --
头像
dede表单value值如何正确填写?
« 上一篇 今天
dede linux伪静态如何配置?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]