SKILL.md
readonly只读
name
platform-custom-tab-generate
description
当用户需要创建或配置Salesforce自定义标签页时,使用此技能。当用户提及标签页、导航标签页、对象标签页、Web标签页、Visualforce标签页、Lightning组件标签页、应用程序页面标签页或标签页配置时触发。当用户想要为自定义对象添加导航、为外部内容创建标签页或设置Lightning页面标签页时,也使用此技能。始终将此技能用于任何自定义标签页工作。
何时使用此技能
当您需要以下操作时,使用此技能:
- 为对象、网页或Visualforce页面创建标签页
- 向应用程序添加导航标签页
- 配置标签页可见性和访问权限
- 排查与自定义标签页相关的部署错误
规范
CustomTab元数据规范
概述
自定义标签页用于在Salesforce应用程序中导航到对象、Web内容或Visualforce页面。
目的
- 提供对自定义对象的导航
- 链接到外部Web内容
- 访问Visualforce页面
- 组织应用程序导航
必需属性
核心标签页属性
- customObject:对于自定义对象标签页为
true,对于所有其他类型为false。 - motif:标签页图标样式——选择一个语义上与对象用途匹配的motif。不要为每个标签页重复使用相同的motif。
- label:显示名称(仅非对象标签页必需;对象标签页从对象继承标签)
- url:Web URL(用于Web标签页)
- page:Visualforce页面名称(用于Visualforce标签页)
严格元素允许列表——请先阅读此内容
根元素必须始终为<CustomTab>(而不是<Tab>)。 XML命名空间必须为xmlns="http://soap.sforce.com/2006/04/metadata"。
仅以下列出的元素有效。任何不在列表中的元素都会导致部署错误。
| 标签页类型 | 仅允许这些元素(没有其他) |
|---|---|
| 对象标签页 | <customObject>(必需,设置为true),<motif>(必需),<description>(可选) |
| Web标签页 | <customObject>(必需,设置为false),<label>(必需),<motif>(必需),<url>(必需),<urlEncodingKey>(必需,设置为UTF-8),<description>(可选),<frameHeight>(可选) |
| Visualforce标签页 | <customObject>(必需,设置为false),<label>(必需),<motif>(必需),<page>(必需),<description>(可选) |
禁止元素(以下每个都会导致部署错误)
<sobjectName>、<name>、<fullName>、<apiVersion>、<isHidden>、<tabVisibility>、<type>、<mobileReady>、<urlFrameHeight>、<urlType>、<urlRedirect>、<encodingKey>、<height>、<auraComponent>
同样禁止:
- 对象标签页上的
<label>(对象标签页从自定义对象继承标签) - Web标签页上的
<page>(仅用于Visualforce标签页) - 空元素,如
<page></page>或<description></description> - 任何不在上述允许列表表中的元素
标签页类型
对象标签页
- 目的:导航到自定义或标准对象
- 文件名决定对象:
{ObjectApiName}.tab-meta.xml(例如,Space_Station__c.tab-meta.xml) - 必需元素:
<customObject>true</customObject>和<motif> - 正确示例(对于Space_Station__c.tab-meta.xml):
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>true</customObject>
<motif>Custom39: Telescope</motif>
</CustomTab>
- 正确示例(对于Supply__c.tab-meta.xml——注意不同的motif):
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>true</customObject>
<motif>Custom98: Truck</motif>
</CustomTab>
- ❌ 错误——不要添加
<sobjectName>、<name>、<fullName>或<label>:
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<sobjectName>Space_Station__c</sobjectName> <!-- 部署错误 -->
<label>Space Station</label> <!-- 对象标签页上的部署错误 -->
<customObject>true</customObject>
<motif>Custom57: Desert</motif>
</CustomTab>
Web标签页
- 目的:链接到外部网站或Web应用程序
- 文件名:使用描述性名称:
{TabName}.tab-meta.xml(例如,Knowledge_Base.tab-meta.xml) - 复制此确切模板——仅替换占位符值。不要添加、删除或重命名任何XML元素:
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>false</customObject>
<description>REPLACE_WITH_DESCRIPTION</description>
<frameHeight>600</frameHeight>
<label>REPLACE_WITH_LABEL</label>
<motif>REPLACE_WITH_MOTIF</motif>
<url>REPLACE_WITH_URL</url>
<urlEncodingKey>UTF-8</urlEncodingKey>
</CustomTab>
- 上述7个元素是Web标签页文件中唯一允许的元素。 不要添加任何其他元素。
<description>元素是可选的——如果不需要,可以删除,但不要添加其他内容。
Visualforce标签页
- 目的:访问自定义Visualforce页面
- 文件名:
{TabName}.tab-meta.xml(例如,Custom_Page_Tab.tab-meta.xml) - 必需元素:
<customObject>false</customObject>、<label>、<motif>、<page> - 正确示例:
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<customObject>false</customObject>
<label>Custom Page</label>
<motif>Custom46: Computer</motif>
<page>CustomPage</page>
</CustomTab>
标签页配置
标签页样式
- 默认:使用标准标签页样式
- 自定义:如果需要,可以指定自定义标签页样式
标签页可见性
- 默认:对所有有权限的用户可见
- 自定义:可以为特定用户配置文件配置
支持的应用程序
- 标准应用程序:在标准Salesforce应用程序中可用
- 自定义应用程序:可以包含在自定义应用程序中
- 社区应用程序:在社区应用程序中可用
集成点
- 对象关系:链接到相关对象记录
- Web内容:外部网站集成
- Visualforce页面:自定义页面功能
- Lightning组件:现代组件集成
最佳实践
- 使用清晰、描述性的标签页标签
- 根据功能选择合适的标签页类型
- 为每个标签页选择独特且上下文相关的motif——不要将所有标签页默认设置为相同的图标
- 考虑用户体验和导航流程
- 在不同应用程序中测试标签页功能
- 确保适当的权限和可见性设置
- 遵循一致的命名约定
- 对象标签页文件必须仅包含
<customObject>true</customObject>和<motif>——没有其他内容 - Web标签页文件必须仅包含:
<customObject>false</customObject>、<label>、<motif>、<url>、<urlEncodingKey>,以及可选的<description>、<frameHeight>——没有其他内容 - 永远不要包含
<isHidden>、<tabVisibility>、<type>、<mobileReady>或空元素






