限制栏目的方法主要有两种,一种是简单粗暴的隐藏,让普通用户在后台根本看不到这些栏目;另一种是基于权限的精确控制,让用户能看到,但无法进行特定操作(如删除、修改),下面我将详细介绍这两种方法。

(图片来源网络,侵删)
隐藏指定栏目(最常用、最简单)
这种方法通过修改数据库,直接让某个栏目对特定角色(如普通编辑)不可见,实现原理是修改 dede_arctype 表(栏目表)中的 ishidden 字段。
适用场景:
- 你希望某个普通编辑用户完全看不到某个“公司核心产品”或“系统设置”栏目。
- 不需要复杂的权限分配,只需要“能看见”和“不能看见”两种状态。
操作步骤:
-
登录织梦后台,使用管理员账号进入。
-
进入SQL命令工具:
- 在后台首页,找到并点击 “系统” -> “SQL命令行工具”。
- (或者直接在浏览器地址栏输入:
你的域名/dede/sys_sql_query.php)
-
执行隐藏命令:
(图片来源网络,侵删)-
在“请输入SQL语句”的文本框中,输入以下命令之一:
-
隐藏单个栏目:
UPDATE `dede_arctype` SET `ishidden` = 1 WHERE `id` = '你的栏目ID';
- 说明:
dede_arctype是栏目表名(如果你的表前缀不是dede_,请替换成你自己的前缀)。id是你要隐藏的栏目ID,你可以在“栏目管理”里看到每个栏目的ID。ishidden设为1表示隐藏,设为0表示显示。
- 说明:
-
隐藏多个栏目(用逗号隔开ID):
UPDATE `dede_arctype` SET `ishidden` = 1 WHERE `id` IN (栏目ID1, 栏目ID2, 栏目ID3);
-
-
执行并验证:
(图片来源网络,侵删)- 点击 “查询” 按钮。
- 执行成功后,系统会提示“成功执行了X条SQL语句”。
- 退出并重新登录 你要限制权限的那个普通编辑账号的后台,你会发现之前指定的栏目已经从列表中消失了。
-
如何恢复显示:
- 如果你想让栏目重新显示,只需要将SQL命令中的
ishidden值改回0即可。UPDATE `dede_arctype` SET `ishidden` = 0 WHERE `id` = '你的栏目ID';
- 如果你想让栏目重新显示,只需要将SQL命令中的
基于用户组的权限控制(更专业、更灵活)
这种方法利用织梦自带的会员(用户组)和模型管理功能,为不同用户组分配不同的栏目操作权限,这是织梦官方推荐的权限管理方式。
适用场景:
- 你有多个编辑,A可以编辑“新闻”栏目,B可以编辑“产品”栏目,但都不能编辑“公司简介”。
- 你需要精细控制用户是只能“看”,还是能“新增”、“修改”或“删除”。
操作步骤:
前提: 你已经为你的编辑创建了后台管理账号,并且分配了相应的用户组(如果没有,请先到“系统”->“用户管理”->“用户组管理”中创建)。
-
进入模型管理:
- 在后台,点击 “核心” -> 模型管理”。
-
模型设置栏目权限:
- 模型列表中,找到你的主要模型,通常是 “普通文章” (默认ID为1),点击后面的 “管理字段” 或 “频道设置”。
- 这里我们通常进入 “频道设置”。
-
设置用户组权限:
- 在“频道设置”页面,找到 “浏览权限” 和 “投稿权限” 这两个部分。
- 浏览权限:决定该用户组的成员在后台能否看到这个模型下的所有栏目。
- 选择“仅指定”:然后从下面的列表中勾选允许该用户组查看的栏目。没有勾选的栏目,用户在后台是看不到的,这和方法一的效果类似,但更灵活,可以针对不同用户组设置不同的可见栏目。
- 投稿权限:决定该用户组是否可以向这个模型下的栏目投稿,通常普通编辑不需要这个权限。
- 高级权限(关键):
- 在页面下方,找到 权限设置”。
- 点击 “增加高级内容权限”。
- 在弹出的窗口中,你可以为这个用户组设置对具体某个栏目的详细操作权限,
- 允许发布内容
- 允许管理内容(审核、修改、删除自己发布的)
- 允许管理所有内容(审核、修改、删除所有人发布的)
- 你可以为不同的用户组设置不同的权限组合。
-
保存设置:
- 设置完成后,点击页面底部的 “保存” 按钮。
-
验证效果:
- 退出并重新登录 你设置了权限的那个普通编辑账号。
- 进入“核心”->“内容发布”或“内容管理”,你会发现:
- 在发布文章时,可选的栏目列表已经根据你设置的“浏览权限”被过滤了。
- 管理列表中,也只能看到和管理你有权限的栏目下的内容。
- 如果你没有对某个栏目设置“管理内容”权限,那么即使能看到该栏目下的内容,也无法删除或修改它们。
总结与对比
| 特性 | 方法一 (修改ishidden字段) |
方法二 (用户组权限控制) |
|---|---|---|
| 实现方式 | 直接通过SQL修改数据库 | 通过后台界面设置,无需写SQL |
| 灵活性 | 低,只能隐藏/显示,无法区分操作 | 高,可精确控制查看、发布、管理等权限 |
| 适用场景 | 简单的、一次性的隐藏需求 | 多用户、多角色、需要精细化权限管理的复杂场景 |
| 维护性 | 低,需要手动执行SQL,不易管理 | 高,所有设置都在后台,直观易修改 |
| 对用户影响 | 直接从列表中消失 | 可根据设置显示或隐藏,或只读 |
建议:
- 如果只是想简单隐藏一两个栏目不想让某个编辑看到,方法一最快最方便。
- 如果你的网站有多个编辑,需要对他们进行明确的职责划分和权限管理,强烈推荐使用方法二,这是更规范、更专业的做法。
