tabs
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSteedos Tabs | Steedos 标签页
Steedos Tabs | Steedos 标签页
Overview | 概述
Overview | 概述
Tabs define the navigation items that appear in an application's sidebar. Each tab is a file that points to an object, a micro page, or a URL. Tabs are referenced by name in the application's array.
.tab.ymltabs标签页定义了应用程序侧边栏中的导航项。每个标签页是一个 文件,指向一个对象、微页面或 URL。标签页通过名称在应用程序的 数组中引用。
.tab.ymltabs标签页定义了应用程序侧边栏中的导航项。每个标签页是一个 文件,指向一个对象、微页面或 URL。标签页通过名称在应用程序的 数组中引用。
.tab.ymltabs标签页定义了应用程序侧边栏中的导航项。每个标签页是一个 文件,指向一个对象、微页面或 URL。标签页通过名称在应用程序的 数组中引用。
.tab.ymltabsFile Format | 文件格式
File Format | 文件格式
- File Extension:
.tab.yml - Location:
main/default/tabs/ - Format: YAML
- Naming:
[tab_name].tab.yml
- 文件扩展名:
.tab.yml - 存放位置:
main/default/tabs/ - 格式:YAML
- 命名规则:
[tab_name].tab.yml
Tab Types | 标签页类型
Tab Types | 标签页类型
1. Object Tab | 对象标签页
1. Object Tab | 对象标签页
Displays an object's list view. Most common tab type.
显示对象的列表视图。最常用的标签页类型。
yaml
name: object_contract
desktop: true
icon: collection
label: 合同
mobile: true
object: contract
permissions: []
type: object显示对象的列表视图。最常用的标签页类型。
显示对象的列表视图。最常用的标签页类型。
yaml
name: object_contract
desktop: true
icon: collection
label: 合同
mobile: true
object: contract
permissions: []
type: object2. Page Tab | 页面标签页
2. Page Tab | 页面标签页
Renders a micro page (Amis page). Used for dashboards, custom UIs, and landing pages.
渲染微页面(Amis 页面)。用于仪表板、自定义界面和落地页。
yaml
name: page_app_launcher
desktop: true
icon: agent_home
is_new_window: false
is_use_iframe: false
label: 应用
mobile: true
page: app_launcher
permissions: []
type: page渲染微页面(Amis页面)。用于仪表板、自定义界面和落地页。
渲染微页面(Amis页面)。用于仪表板、自定义界面和落地页。
yaml
name: page_app_launcher
desktop: true
icon: agent_home
is_new_window: false
is_use_iframe: false
label: 应用
mobile: true
page: app_launcher
permissions: []
type: page3. URL Tab | URL 标签页
3. URL Tab | URL标签页
Opens an internal or external URL. Can use iframe or new window.
打开内部或外部 URL。可使用 iframe 或新窗口。
yaml
name: admin_swagger
desktop: true
icon: data_model
is_new_window: true
is_use_iframe: true
label: OpenAPI
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
type: url
url: /api/v6/打开内部或外部URL。可使用iframe或新窗口。
打开内部或外部URL。可使用iframe或新窗口。
yaml
name: admin_swagger
desktop: true
icon: data_model
is_new_window: true
is_use_iframe: true
label: OpenAPI
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
type: url
url: /api/v6/Field Reference | 字段参考
Field Reference | 字段参考
Required Fields | 必需字段
Required Fields | 必需字段
name (String)
name (String)
Unique identifier for the tab. This is the name referenced in the application's array.
tabs标签页的唯一标识符。这是在应用程序 数组中引用的名称。
tabsyaml
name: object_contract标签页的唯一标识符,是在应用程序 数组中引用的名称。
tabs标签页的唯一标识符。这是在应用程序 数组中引用的名称。
tabsyaml
name: object_contracttype (String)
type (String)
⚠️ MUST be one of: , , . No other values are valid. 严禁使用其他值。
objectpageurlTab type.
yaml
type: object
type: page
type: url⚠️ 必须为以下值之一:、、。严禁使用其他值。
objectpageurl标签页类型。
yaml
type: object
type: page
type: urllabel (String)
label (String)
Display name shown in the sidebar navigation.
侧边栏导航中显示的名称。
yaml
label: 合同管理侧边栏导航中显示的名称。
侧边栏导航中显示的名称。
yaml
label: 合同管理Type-Specific Fields | 类型特定字段
Type-Specific Fields | 类型特定字段
object (String) — for type: object
type: objectobject (String) — 适用于type: object
type: objectThe object API name to display.
yaml
type: object
object: contracts要显示的对象API名称。
yaml
type: object
object: contractspage (String) — for type: page
type: pagepage (String) — 适用于type: page
type: pageThe micro page name to render.
yaml
type: page
page: app_launcher要渲染的微页面名称。
yaml
type: page
page: app_launcherurl (String) — for type: url
type: urlurl (String) — 适用于type: url
type: urlThe URL to open. Supports template variables.
要打开的 URL。支持模板变量。
yaml
type: url
url: /app/admin/space_users/view/${context.user.spaceUserId}URL Template Variables | URL 模板变量:
| Variable | Description |
|---|---|
| Current user's space_users ID |
要打开的URL,支持模板变量。
要打开的 URL。支持模板变量。
yaml
type: url
url: /app/admin/space_users/view/${context.user.spaceUserId}URL Template Variables | URL模板变量:
| 变量 | 描述 |
|---|---|
| 当前用户的space_users ID |
Optional Fields | 可选字段
Optional Fields | 可选字段
desktop (Boolean)
desktop (Boolean)
Whether the tab is visible on desktop. Default: .
trueyaml
desktop: true标签页在桌面端是否可见,默认值:。
trueyaml
desktop: truemobile (Boolean)
mobile (Boolean)
Whether the tab is visible on mobile. Default: .
trueyaml
mobile: true标签页在移动端是否可见,默认值:。
trueyaml
mobile: trueicon (String)
icon (String)
⚠️ MUST be a valid SLDS icon name from the objects skill Valid Icon Values list. Do NOT invent icon names. If no icon matches, use or .
customrecord⚠️ 必须为对象 skill 有效图标列表中的有效 SLDS 图标名称,严禁编造。如无匹配,使用 或 。
customrecordSalesforce Lightning Design System icon name.
yaml
icon: contract
icon: agent_home
icon: data_model⚠️ 必须为对象skill 有效图标列表中的有效SLDS图标名称,严禁编造。如无匹配,使用或。
customrecord⚠️ 必须为对象skill 有效图标列表中的有效 SLDS 图标名称,严禁编造。如无匹配,使用 或 。
customrecordSalesforce Lightning Design System图标名称。
yaml
icon: contract
icon: agent_home
icon: data_modelis_new_window (Boolean)
is_new_window (Boolean)
Whether to open in a new browser window/tab. Default: .
false是否在新浏览器窗口/标签页中打开。默认:。
falseyaml
is_new_window: true是否在新浏览器窗口/标签页中打开,默认值:。
false是否在新浏览器窗口/标签页中打开。默认:。
falseyaml
is_new_window: trueis_use_iframe (Boolean)
is_use_iframe (Boolean)
Whether to render the content in an iframe within the app. Default: . Typically used with URL tabs.
false是否在应用内使用 iframe 渲染内容。默认:。通常与 URL 标签页配合使用。
falseyaml
is_use_iframe: true是否在应用内使用iframe渲染内容,默认值:,通常与URL标签页配合使用。
false是否在应用内使用 iframe 渲染内容。默认:。通常与 URL 标签页配合使用。
falseyaml
is_use_iframe: truelocked (Boolean)
locked (Boolean)
Whether the tab configuration is locked from editing in the UI.
yaml
locked: false标签页配置是否在UI中被锁定无法编辑。
yaml
locked: falselicense (Array)
license (Array)
License tiers required to access this tab.
访问此标签页所需的许可证级别。
yaml
license:
- platform-professional
- platform-enterprise访问此标签页所需的许可证级别。
访问此标签页所需的许可证级别。
yaml
license:
- platform-professional
- platform-enterprisePermissions | 权限
Permissions | 权限
Control tab visibility per permission set. Each entry has (⚠️ MUST be or , no other values) and .
permission'on''off'permission_set按权限集控制标签页可见性。每个条目有 (⚠️ 必须为 或 )和 。
permission'on''off'permission_setyaml
permissions:
- permission: 'on'
permission_set: admin
- permission: 'on'
permission_set: user
- permission: 'off'
permission_set: customer
- permission: 'off'
permission_set: supplier
- permission: 'off'
permission_set: organization_admin
- permission: 'off'
permission_set: workflow_adminAn empty means the tab is visible to all users.
permissions: []空的 表示标签页对所有用户可见。
permissions: []按权限集控制标签页可见性。每个条目包含(⚠️ 必须为或,不允许其他值)和。
permission'on''off'permission_set按权限集控制标签页可见性。每个条目有 (⚠️ 必须为 或 )和 。
permission'on''off'permission_setyaml
permissions:
- permission: 'on'
permission_set: admin
- permission: 'on'
permission_set: user
- permission: 'off'
permission_set: customer
- permission: 'off'
permission_set: supplier
- permission: 'off'
permission_set: organization_admin
- permission: 'off'
permission_set: workflow_admin空的表示标签页对所有用户可见。
permissions: []空的 表示标签页对所有用户可见。
permissions: []Complete Examples | 完整示例
Complete Examples | 完整示例
Object Tab — Business Object | 对象标签页 — 业务对象
Object Tab — Business Object | 对象标签页 — 业务对象
yaml
name: object_pepsico_material
desktop: true
icon: contact_list
label: 材料素材
mobile: true
object: pepsico_material
permissions: []
type: objectyaml
name: object_pepsico_material
desktop: true
icon: contact_list
label: 材料素材
mobile: true
object: pepsico_material
permissions: []
type: objectObject Tab — Admin Only | 对象标签页 — 仅管理员
Object Tab — Admin Only | 对象标签页 — 仅管理员
yaml
name: admin_apps
desktop: true
icon: apps
is_new_window: false
label: 应用程序
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
- permission: 'off'
permission_set: customer
- permission: 'off'
permission_set: supplier
- permission: 'off'
permission_set: organization_admin
- permission: 'off'
permission_set: workflow_admin
type: object
object: appsyaml
name: admin_apps
desktop: true
icon: apps
is_new_window: false
label: 应用程序
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
- permission: 'off'
permission_set: customer
- permission: 'off'
permission_set: supplier
- permission: 'off'
permission_set: organization_admin
- permission: 'off'
permission_set: workflow_admin
type: object
object: appsPage Tab — Dashboard | 页面标签页 — 仪表板
Page Tab — Dashboard | 页面标签页 — 仪表板
yaml
name: page_app_store
desktop: true
icon: product_consumed
is_new_window: false
is_use_iframe: false
label: App Store
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
type: page
page: app_storeyaml
name: page_app_store
desktop: true
icon: product_consumed
is_new_window: false
is_use_iframe: false
label: App Store
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
type: page
page: app_storeURL Tab — External Tool | URL 标签页 — 外部工具
URL Tab — External Tool | URL标签页 — 外部工具
yaml
name: nodered
desktop: true
icon: incident
is_new_window: true
is_use_iframe: false
label: Node-RED
locked: false
mobile: true
permissions:
- permission: 'off'
permission_set: user
type: url
url: /flowsyaml
name: nodered
desktop: true
icon: incident
is_new_window: true
is_use_iframe: false
label: Node-RED
locked: false
mobile: true
permissions:
- permission: 'off'
permission_set: user
type: url
url: /flowsURL Tab — Embedded Dashboard | URL 标签页 — 嵌入仪表板
URL Tab — Embedded Dashboard | URL标签页 — 嵌入仪表板
yaml
name: material_kanban
desktop: true
icon: app
is_new_window: false
is_use_iframe: true
label: 看板
locked: false
mobile: false
permissions: []
type: url
url: /analytics/embed/dashboard/6788be6a41162b06257df7a9#titled=false&bordered=falseyaml
name: material_kanban
desktop: true
icon: app
is_new_window: false
is_use_iframe: true
label: 看板
locked: false
mobile: false
permissions: []
type: url
url: /analytics/embed/dashboard/6788be6a41162b06257df7a9#titled=false&bordered=falseURL Tab — Dynamic URL with Context | URL 标签页 — 带上下文的动态 URL
URL Tab — Dynamic URL with Context | URL标签页 — 带上下文的动态URL
yaml
name: admin_personal_information
desktop: true
icon: user_role
is_new_window: false
label: 个人资料
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'on'
permission_set: user
type: url
url: /app/admin/space_users/view/${context.user.spaceUserId}yaml
name: admin_personal_information
desktop: true
icon: user_role
is_new_window: false
label: 个人资料
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'on'
permission_set: user
type: url
url: /app/admin/space_users/view/${context.user.spaceUserId}Tab with License Restriction | 带许可证限制的标签页
Tab with License Restriction | 带许可证限制的标签页
yaml
name: admin_ai_chatbots
desktop: true
icon: live_chat
is_new_window: false
label: Chatbots
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
type: object
object: ai_chatbots
license:
- platform-professional
- platform-enterpriseyaml
name: admin_ai_chatbots
desktop: true
icon: live_chat
is_new_window: false
label: Chatbots
mobile: true
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user
type: object
object: ai_chatbots
license:
- platform-professional
- platform-enterpriseRelationship with Applications | 与应用程序的关系
Relationship with Applications | 与应用程序的关系
Tabs are referenced in files via the array. The tab is used as the reference key.
.app.ymltabsname标签页通过 数组在 文件中引用。标签页的 作为引用键。
tabs.app.ymlnameyaml
undefined标签页通过数组在文件中引用,标签页的作为引用键。
tabs.app.ymlname标签页通过 数组在 文件中引用。标签页的 作为引用键。
tabs.app.ymlnameyaml
undefinedIn application .app.yml
In application .app.yml
tabs:
- page_app_launcher
- core_announcements
- core_tasks
tab_items:
page_app_launcher:
group: ''
index: 1
core_announcements:
group: 协作
index: 2
core_tasks:
group: 协作
index: 3
tab_groups:
- group_name: 协作 default_open: true
When an application's `tabs` array includes a name that matches no `.tab.yml` file, the system treats it as an implicit object tab (directly using the name as the object API name).
当应用程序的 `tabs` 数组包含的名称没有匹配的 `.tab.yml` 文件时,系统将其视为隐式对象标签页(直接将名称作为对象 API 名称)。tabs:
- page_app_launcher
- core_announcements
- core_tasks
tab_items:
page_app_launcher:
group: ''
index: 1
core_announcements:
group: 协作
index: 2
core_tasks:
group: 协作
index: 3
tab_groups:
- group_name: 协作 default_open: true
当应用程序的`tabs`数组包含的名称没有匹配的`.tab.yml`文件时,系统将其视为隐式对象标签页(直接将名称作为对象API名称)。
当应用程序的 `tabs` 数组包含的名称没有匹配的 `.tab.yml` 文件时,系统将其视为隐式对象标签页(直接将名称作为对象 API 名称)。File Location | 文件位置
File Location | 文件位置
steedos-packages/
└── my-package/
└── main/
└── default/
├── tabs/
│ ├── object_contract.tab.yml
│ ├── page_dashboard.tab.yml
│ └── admin_settings.tab.yml
└── applications/
└── my_app.app.ymlsteedos-packages/
└── my-package/
└── main/
└── default/
├── tabs/
│ ├── object_contract.tab.yml
│ ├── page_dashboard.tab.yml
│ └── admin_settings.tab.yml
└── applications/
└── my_app.app.ymlNaming Conventions | 命名约定
Naming Conventions | 命名约定
| Pattern | Use Case | Example |
|---|---|---|
| Object tabs for business objects | |
| Admin-only tabs | |
| Page tabs | |
| Core platform tabs | |
| 命名模式 | 使用场景 | 示例 |
|---|---|---|
| 业务对象的对象标签页 | |
| 仅管理员可见的标签页 | |
| 页面标签页 | |
| 平台核心标签页 | |
Best Practices | 最佳实践
Best Practices | 最佳实践
1. Permission Configuration
1. Permission Configuration
Always explicitly set permissions for admin-only tabs:
始终为仅管理员标签页明确设置权限:
yaml
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: userFor tabs visible to all users, use empty permissions:
对所有用户可见的标签页,使用空权限:
yaml
permissions: []始终为仅管理员可见的标签页明确设置权限:
始终为仅管理员标签页明确设置权限:
yaml
permissions:
- permission: 'on'
permission_set: admin
- permission: 'off'
permission_set: user对所有用户可见的标签页,使用空权限配置:
对所有用户可见的标签页,使用空权限:
yaml
permissions: []2. iframe vs New Window
2. iframe vs New Window
-
Usefor embedded dashboards and tools that should stay within the app
is_use_iframe: true -
Usefor external tools like Node-RED that need their own window
is_new_window: true -
Don't combine both — choose one approach
-
使用嵌入仪表板和需要留在应用内的工具
is_use_iframe: true -
使用用于像 Node-RED 这样需要独立窗口的外部工具
is_new_window: true -
不要同时使用两者 — 选择一种方式
-
对于需要留在应用内的嵌入仪表板和工具,使用
is_use_iframe: true -
对于像Node-RED这样需要独立窗口的外部工具,使用
is_new_window: true -
不要同时使用两者——选择一种方式
-
使用嵌入仪表板和需要留在应用内的工具
is_use_iframe: true -
使用用于像 Node-RED 这样需要独立窗口的外部工具
is_new_window: true -
不要同时使用两者 — 选择一种方式
3. Mobile Visibility
3. Mobile Visibility
Set for tabs that don't work well on mobile (e.g., complex dashboards, iframe embeds):
mobile: false对不适合移动端的标签页设置 (如复杂仪表板、iframe 嵌入):
mobile: falseyaml
desktop: true
mobile: false对不适合移动端的标签页(如复杂仪表板、iframe嵌入)设置:
mobile: false对不适合移动端的标签页设置 (如复杂仪表板、iframe 嵌入):
mobile: falseyaml
desktop: true
mobile: falseTroubleshooting | 故障排除
Troubleshooting | 故障排除
Issue: Tab not appearing in sidebar
Issue: Tab not appearing in sidebar
Solutions:
- Verify the tab is listed in the application's
namearraytabs - Check — user must have
permissionsfor their permission_setpermission: 'on' - Ensure (or
desktop: truefor mobile)mobile: true - Check restrictions if present
license
解决方案:
- 确认标签页已在应用程序的
name数组中列出tabs - 检查配置——用户所属的permission_set必须设置为
permissionspermission: 'on' - 确保(移动端需确保
desktop: true)mobile: true - 如果有配置,检查许可证限制
license
Issue: URL tab showing blank
Issue: URL tab showing blank
Solutions:
- For iframe embeds, ensure
is_use_iframe: true - Check the target URL allows iframe embedding (X-Frame-Options)
- Verify the URL path is correct and accessible
解决方案:
- 对于iframe嵌入,确保
is_use_iframe: true - 检查目标URL是否允许iframe嵌入(X-Frame-Options设置)
- 验证URL路径是否正确且可访问
Issue: Page tab not rendering
Issue: Page tab not rendering
Solutions:
- Verify the value matches an existing micro page name
page - Ensure the micro page and
.page.ymlfiles exist.page.amis.json - Check page permissions
解决方案:
- 确认值与现有微页面名称匹配
page - 确保微页面的和
.page.yml文件存在.page.amis.json - 检查页面权限配置
References | 参考资料
References | 参考资料
- Applications — how tabs are used in app configuration
- Micro Pages — creating pages for page tabs
- Object Permissions — permission sets referenced in tab permissions
- Salesforce Lightning Icons
- Applications — 标签页在应用配置中的使用方式
- Micro Pages — 为页面标签页创建微页面
- Object Permissions — 标签页权限中引用的权限集
- Salesforce Lightning Icons