salesforce - 覆盖 Salesforce 服务云控制台中的标准按钮

标签 salesforce force.com salesforce-service-cloud

是否可以覆盖服务云控制台 ListView 中的标准“新建”按钮和“详细信息”链接?

我想在单击这些按钮/链接时显示我的自定义 VF 页面。(如果是,如何?)

此外,服务云 API 工具包的任何示例都会有所帮助。

提前致谢。

最佳答案

最好是创建一组单独的按钮,因为它会减少重定向......

如果你想真正覆盖标准的,我认为你必须使用正常的覆盖(在所有按钮上),但对于基于 Javascript 的内容,你将决定应该发生什么。

http://www.salesforce.com/us/developer/docs/api_console/index.htm - Console JS API 会很方便。

创建一个使用 standardController="Your_Object__c" 的 Visualforce 页面。内容中包括对控制台 API 的引用以及类似于 isInConsole() 示例的代码。 :

<apex:includeScript value="/support/console/27.0/integration.js"/>
<script type="text/javascript">
    function testIsInConsole() {
        if (sforce.console.isInConsole()) {
              alert("in console");
           } else {
              alert("not in console");
        }
    }
</script>

除非您将重定向到特殊页面或标准“新建”和“编辑”页面。要强制进入原始编辑模式,您可以在 URL 中添加 nooverride=1 参数(URLFOR 函数的文档中也提到了这一点)。

正常“新帐户”(如果指定,则会覆盖):/001/e

强制转到您的页面:/apex/NewAccount

强制转到标准页面:/001/e?nooverride=1

现在你知道如何检测你是否在控制台以及去哪里。唯一剩下的问题是“哪个窗口应该重定向”。因为控制台是建立在框架上的,所以使用 javascript 窗口、位置、父级等对象可能会得到不同的结果。这是如何在 JS 中使用框架的常识,所以我不打算写下来。但我会添加一个指向 srcUp() 的链接Salesforce 提供的您可能想要重用的功能。

老实说,我认为它仅在控制台上下文中定义,因此也许您可以放弃整个 isInConsole 转而使用 typeof srcUp != 'undefined'

祝你好运:)

关于salesforce - 覆盖 Salesforce 服务云控制台中的标准按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16930202/

相关文章:

oauth-2.0 - Mule SFDC 连接器无需使用 sfdc 进行用户交互 :config-with-oauth

Java - Salesforce PartnerConnection 查询请求挂起

java - 为什么我的 SalesForce.com-GoogleApp 无法初始化 com.sforce.ws.ConnectorConfig 类?

authentication - Amazon S3 : Strange Error -' Sometimes' SignatureDoesNotMatch, 有时确实如此

salesforce - 如何仅向某些配置文件显示相关字段中的某些值?

salesforce - 如何获取附件的可下载链接?

automated-tests - ObjChildItem.Click() 在循环中无法正常工作

salesforce - 在 Apex Visualforce 中获取推荐人

testing - 在 Salesforce 中测试返回 PageReference 的方法

iframe - 如何让 Chrome Extension 为每个添加的新 Iframe 运行?