织梦DedeCms arctype字段如何自定义与调用?

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

arctype 是织梦CMS中一个极其核心且基础的概念,理解它对于使用和二次开发织梦至关重要。

织梦 dede arctype
(图片来源网络,侵删)

什么是 arctype

arctype“文章类型”“栏目类型” 的英文缩写,在织梦CMS中,它代表着一个栏目

你可以把 arctype 理解为一个网站的“分类目录”或“文件夹”,网站上的所有内容(文章、图集、软件等)都必须归属于某个 arctype(栏目)之下。

一个新闻网站可能会有以下 arctype(栏目):

  • 国内新闻 (arctype)
  • 国际新闻 (arctype)
  • 科技前沿 (arctype)
  • 体育资讯 (arctype)

每个 arctype 都定义了其下内容的属性、显示方式和组织结构。

织梦 dede arctype
(图片来源网络,侵删)

arctype 的核心数据表

arctype 的所有信息都存储在数据库的 dede_arctype 表中,这个表是织梦的基石之一,了解这个表的结构,就等于掌握了 arctype 的命脉。

以下是 dede_arctype 表的主要字段:

字段名 中文名称 说明
id 栏目ID 主键,每个栏目的唯一标识符,非常重要。
reid 父栏目ID 用于实现栏目的无限级分类。reid=0,则为顶级栏目。
topid 顶级栏目ID 指向该栏目所属的顶级栏目的ID,方便快速定位到顶级栏目。
sortrank 排序权重 数值越小,排序越靠前,用于在同级栏目中进行排序。
typename 栏目名称 用户在网站前台看到的栏目名称,如“公司新闻”。
typedir 栏目目录 栏目在网站上的虚拟路径,决定了栏目列表页和内容页的URL结构。a/gsxw/
isdefault 是否为默认栏目 1表示是,0表示否,默认栏目通常用于存放首页内容或作为单页栏目。
defaultname 默认名称 isdefault=1 时,此字段定义了栏目首页的文件名,如 index.html
issystem 是否为系统栏目 1表示是(如“首页”、“文章”等核心栏目),0表示否,通常不建议删除系统栏目。
channeltype 模型类型 非常重要!指定该栏目使用的内容模型。-1为外部链接,1为文章模型,2为图集模型,3为下载模型等。
corank 协同等级 用于多站点协同,普通用户较少使用。
description 栏目描述 对栏目的简要描述,利于SEO。
keywords 栏目关键词 栏目的核心关键词,利于SEO。
moresite 是否为多站点栏目 1表示是,该栏目的内容会发布到指定的子站点。
crossid 交叉栏目ID 可以关联其他栏目的内容,实现内容聚合。
content 当栏目类型为“单页”时,这里存放页面的具体HTML内容。
seohtml SEO设置 用于自定义该栏目的 <title>, <meta description>, <meta keywords>

arctype 的核心功能

无限级分类

通过 reid(父栏目ID)和 topid(顶级栏目ID)字段,arctype 实现了强大的无限级分类功能,你可以构建出任意层级的栏目结构, 首页 -> 产品中心 -> 电子产品 -> 智能手机 在这个结构中:

  • 产品中心reid首页id
  • 电子产品reid产品中心id
  • 智能手机reid电子产品id
  • 所有子栏目的 topid 都指向 产品中心id

内容模型绑定

每个 arctype 都必须绑定一个内容模型channeltype 字段),这决定了这个栏目里可以发布什么类型的内容。

织梦 dede arctype
(图片来源网络,侵删)
  • 绑定文章模型 (channeltype=1):可以发布普通文章。
  • 绑定图集模型 (channeltype=2):可以发布图片集。
  • 绑定下载模型 (channeltype=3):可以发布软件、文档等下载资源。
  • 绑定单页模型 (channeltype= 特定值):不发布文章列表,而是显示一个固定的页面内容,常用于“关于我们”、“联系我们”等。

URL 路由规则

typedir 字段定义了栏目的URL路径,织梦会根据这个字段生成栏目列表页和内容页的链接。

  • 栏目列表页{typedir}/index.html{typedir}/list_1.html (1是栏目ID)
  • {typedir}/{aid}.html (aid是文章ID)

一个 typedirnews/gsxw 的栏目,其列表页链接就是 news/gsxw/index.html


arctype 相关的核心模板标签

在织梦的模板文件(.htm)中,有一系列标签专门用于调用和显示 arctype 信息。

获取当前栏目信息

通常在列表页(list_xxx.htm页(article_xxx.htm)中使用。

{dede:field name='typename' /}  <!-- 获取当前栏目名称 -->
{dede:field name='typedir' /}  <!-- 获取当前栏目目录 -->
{dede:field name='description' /} <!-- 获取当前栏目描述 -->
{dede:field name='keywords' /}   <!-- 获取当前栏目关键词 -->

获取顶级栏目信息

在子栏目页面,有时需要获取顶级栏目的信息。

{dede:field name='topid' runphp='yes'}
    $dsql = new DedeSql(false);
    $row = $dsql->GetOne("SELECT typename FROM `dede_arctype` WHERE id=@me");
    @me = $row['typename'];
{/dede:field}

或者更简单的方式(如果模板支持):

{dede:field name='position' runphp='yes'}
    $tc = explode(' > ', @me);
    @me = $tc[0]; // 获取第一个,即顶级栏目
{/dede:field}

调用栏目列表(导航栏)

这是最常用的标签,用于生成网站的导航菜单。

{dede:channel type='top' row='8' currentstyle="<li class='active'><a href='~typelink~'>~typename~</a></li>"}
    <li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
  • type='top':只调用顶级栏目。
  • row='8':调用8个栏目。
  • currentstyle:定义当前页面所在栏目的样式。

调用子栏目列表

在某个栏目页,显示其所有直接子栏目。

{dede:channel type='son' noself='yes'}
    <li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
  • type='son':调用当前栏目的直接子栏目。
  • noself='yes':不显示当前栏目本身。

调用栏目交叉内容

利用 crossid 字段,可以在一个栏目页面显示另一个栏目的文章列表。

{dede:arclist titlelen='30' row='10' channelid='1' crossid='1'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
  • crossid='1':这里表示调用与当前栏目有关联的ID为1的栏目的内容。

实际应用场景

  1. 制作网站导航:使用 {dede:channel type='top'...} 标签生成主导航。
  2. 面包屑导航页或列表页,使用 {dede:field name='position' /} 生成类似 “首页 > 科技前沿 > 人工智能” 的路径。
  3. 侧边栏分类列表:在网站的侧边栏,使用 {dede:channel type='son'...} 显示某个特定栏目(如“产品分类”)下的所有子分类。
  4. SEO优化:为每个栏目单独设置 descriptionkeywords,让每个栏目页面都有独立的SEO标题和描述。
  5. 单页应用:创建一个 arctype,将其 isdefault 设置为“单页模型”,在 content 字段中填写“关于我们”的详细内容,即可生成一个独立的“关于我们”页面。

arctype 是织梦CMS的骨架,它不仅仅是内容的容器,更是网站结构、URL、模板逻辑和SEO策略的集合体,熟练掌握 dede_arctype 表的结构以及相关的模板标签,是高效使用和二次开发织梦CMS的关键所在,无论是搭建一个简单的企业官网,还是构建一个复杂的内容门户网站,都离不开对 arctype 的深刻理解和灵活运用。

-- 展开阅读全文 --
头像
Bringder JNI如何用C语言实现?
« 上一篇 2025-12-18
dede search 5.7分页如何实现?
下一篇 » 2025-12-18

相关文章

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

目录[+]