织梦cms自定义属性如何设置与使用?

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

什么是自定义属性?

自定义属性就是给文章或栏目额外增加一些自定义的字段,用来存储文章栏目信息之外的特殊内容。

默认情况下,织梦CMS的文章只有标题、作者、来源、发布时间、内容等固定字段,如果你的文章需要一些额外的信息,

  • 文章:视频链接、下载地址、商品价格、作者简介、相关图集ID、是否置顶、是否推荐等。
  • 栏目:栏目简介、自定义模板、外部链接、SEO关键词等。

这时,自定义属性就派上用场了,它相当于为你的文章或栏目“量身定做”了一批新的信息标签。


自定义属性的类型

在织梦后台,自定义属性主要分为两种,设置路径略有不同:

  1. 文章自定义属性:为单篇文章添加额外信息。
  2. 栏目自定义属性:为整个栏目添加额外信息。

下面我们以最常用的文章自定义属性为例,进行详细讲解。


文章自定义属性的详细使用教程

步骤 1:添加自定义属性字段

这是最关键的一步,你需要告诉织梦系统,你希望增加哪些字段。

  1. 登录后台:使用管理员账号登录织梦CMS后台。

  2. 进入系统设置:在左侧菜单栏中,找到并点击 系统 -> SQL命令工具

  3. 执行SQL语句:在 命令运行 文本框中,输入你想要添加的字段的SQL语句,这是最标准、最推荐的方法。

    SQL语句格式:

    ALTER TABLE `dede_archives` ADD `字段名` 字段类型 NOT NULL DEFAULT '默认值';
    • dede_archives:是存储文章基本信息的表名,请勿修改
    • 字段名:为你自定义的字段起一个名字,建议使用英文,如 video_url, price, is_top 等。
    • 字段类型:常见的有 varchar(255) (短文本), text (长文本), int(10) (整数), decimal(10,2) ( decimal(10,2)) 等。
    • '默认值':当这个字段没有填写内容时的默认值,0, 空字符串 '', N/A 等。

    【实战示例】

    假设我们要为文章增加三个字段:

    • 视频链接:一个较长的文本。
    • 商品价格:一个带两位小数的数字。
    • 是否推荐:一个是/否的选择(用整数0和1表示)。

    你可以在 SQL命令工具 中依次执行以下三条语句:

    -- 添加一个视频链接字段 (类型为文本,默认值为空)
    ALTER TABLE `dede_archives` ADD `video_url` text NOT NULL DEFAULT '';
    -- 添加一个商品价格字段 (类型为decimal,默认值为0.00)
    ALTER TABLE `dede_archives` ADD `price` decimal(10,2) NOT NULL DEFAULT '0.00';
    -- 添加一个是否推荐的字段 (类型为整数,默认值为0)
    ALTER TABLE `dede_archives` ADD `is_recommend` int(11) NOT NULL DEFAULT '0';

    执行成功后,这些字段就被添加到数据库里了。

步骤 2:在后台文章编辑界面显示字段

字段添加到数据库后,你还需要让它在后台编辑文章时可见和可编辑。

  1. 找到模板文件:进入织梦的安装目录,找到文件 /dede/templets/article_edit.htm,这个文件是后台文章编辑页面的模板。

  2. 编辑模板:用文本编辑器(如VS Code, Notepad++)打开这个文件。

  3. 添加输入框:在合适的位置(在“ textarea下面,或者在你自定义的选项卡里)添加你刚才创建的字段的HTML输入代码。

    【实战示例】

    接上面的例子,我们在摘要后面添加这三个字段。

    <!-- 找到类似这样的代码块 -->
    <tr>
        <td height="24" colspan="2" bgcolor="#f5f5f5">
            <strong></strong>
            <textarea name="description" id="description" style="width:100%; height:50px; font-family:Verdana;"><?php echo $description;?></textarea>
        </td>
    </tr>
    <!-- 在它下面添加你的自定义字段 -->
    <tr>
        <td height="24" colspan="2" bgcolor="#f5f5f5">
            <strong>视频链接:</strong>
            <input type="text" name="video_url" id="video_url" value="<?php echo $addRow['video_url']; ?>" style="width:60%;">
        </td>
    </tr>
    <tr>
        <td height="24" colspan="2" bgcolor="#f5f5f5">
            <strong>商品价格:</strong>
            <input type="text" name="price" id="price" value="<?php echo $addRow['price']; ?>" style="width:200px;">
        </td>
    </tr>
    <tr>
        <td height="24" colspan="2" bgcolor="#f5f5f5">
            <strong>是否推荐:</strong>
            <input type="radio" name="is_recommend" value="1" <?php if($addRow['is_recommend']==1) echo 'checked="checked"'; ?> /> 是
            <input type="radio" name="is_recommend" value="0" <?php if($addRow['is_recommend']==0) echo 'checked="checked"'; ?> /> 否
        </td>
    </tr>

    代码解释

    • name="video_url":这个 name 属性必须和你在数据库里创建的字段名完全一致,织梦通过 name 来接收提交的数据。
    • value="<?php echo $addRow['video_url']; ?>":这行代码用于在编辑文章时,显示该字段已保存的内容。
    • 保存并上传修改后的 article_edit.htm 文件到服务器。

步骤 3:在前台模板中调用字段

你可以在前台模板文件(如 article_article.htm)中使用这些自定义字段了。

调用语法非常简单:{field:字段名/}

【实战示例】

article_article.htm 模板中,你可以这样调用:

<h1>{dede:field.title/}</h1>
<!-- 调用自定义的视频链接 -->
{dede:field.video_url runphp='yes'}
    if(@me != '') {
        @me = '<div class="video-box"><iframe src="'.@me.'" frameborder="0" allowfullscreen></iframe></div>';
    } else {
        @me = '';
    }
{/dede:field.video_url}
<!-- 调用自定义的价格 -->
<p class="price">价格:<span class="money">{dede:field.price/}</span> 元</p>
<!-- 调用自定义的是否推荐,并做判断 -->
{dede:field.is_recommend runphp='yes'}
    if(@me == 1) {
        @me = '<span class="tag">推荐</span>';
    } else {
        @me = '';
    }
{/dede:field.is_recommend}

高级用法:runphp='yes'

  • 当你需要在模板里对字段值进行逻辑判断(如上面的if/else)时,就需要使用 runphp='yes'
  • @me 是一个特殊变量,代表当前字段的值,你可以对 @me 进行PHP操作,操作后的结果会最终显示在页面上。

栏目自定义属性的用法

栏目自定义属性的流程和文章类似,但操作对象是栏目。

  1. 添加字段

    • 同样使用 系统 -> SQL命令工具
    • 但这次操作的表是 dede_arctype (栏目表)。
    • SQL示例:为栏目增加一个“自定义链接”字段。
      ALTER TABLE `dede_arctype` ADD `type_link` varchar(255) NOT NULL DEFAULT '';
  2. 显示字段

    • 找到模板文件 /dede/templets/catalog_add.htm (添加栏目) 和 /dede/templets/catalog_edit.htm (编辑栏目)。
    • 在里面添加HTML输入框,name 属性要和数据库字段名一致。
  3. 调用字段

    • 在前台模板(如 list_channel.htm, list_article_list.htm 等)中调用。
    • 调用语法:{dede:field.字段名/}{dede:typelink/} (如果字段是链接)。
    • 示例:调用栏目的自定义链接。
      <a href="{dede:field.type_link/}" target="_blank">访问本栏目的外部链接</a>

注意事项与最佳实践

  1. 备份数据库:在执行任何SQL语句之前,务必备份数据库!以防误操作导致数据丢失。
  2. 字段名规范:字段名请使用英文、数字和下划线,避免使用中文和特殊符号。
  3. 字段类型选择:根据实际需求选择合适的字段类型,比如价格用 decimal 而不是 varcharint,能避免很多精度问题。
  4. 权限问题:确保你的web服务器对 /dede/ 目录下的文件有写入权限,否则无法保存修改的模板文件。
  5. 不要修改核心文件:除了模板文件,尽量不要修改织梦的核心PHP文件,否则升级时会非常麻烦。
  6. 字段数量:虽然可以添加很多字段,但也要适度,过多的自定义字段可能会影响数据库性能和代码的可读性。

自定义属性是织梦CMS扩展性的核心体现,掌握它的使用方法,你就可以突破默认模板的限制,构建出功能更丰富、更符合特定业务需求的网站。

流程回顾

  1. 数据库:用 SQL命令工具 ALTER TABLE 添加字段。
  2. 后台:修改 article_edit.htm 等模板文件,添加可编辑的输入框。
  3. 前台:在模板文件中使用 {field:字段名/}runphp 调用并显示数据。
-- 展开阅读全文 --
头像
C语言作业怎么写?
« 上一篇 今天
hellowork c语言怎么学?
下一篇 » 今天

相关文章

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

目录[+]