【问题标题】:Durable Id assignment in URL not working in lightningURL中的持久ID分配在闪电中不起作用
【发布时间】:2021-06-17 11:37:35
【问题描述】:

问题说明:为了自动填充查找字段,我使用了带名称的持久 Id 分配。例如https://sales--dev.my.salesforce.com/m2p/e?CF00N0l0000051XXX=Contract-00000XXX&inline=1

注意这一点 -> CF00N0l0000051XXX=Contract-00000XXX ~ durableId=recordName 在网址中。

现在,当用户单击New 按钮在 VF 页面上创建记录时,上面的 URL 以经典方式加载并在查找中填充名称,如下所示

尝试解决:在闪电网络中,URL 被此 URL 覆盖 https://sales--dev.lightning.force.com/lightning/o/objectName/new?count=2闪电中有没有办法实现同一个URL?

【问题讨论】:

    标签: url salesforce visualforce salesforce-lightning


    【解决方案1】:

    你真的需要它作为 URL hack 吗?你的东西不能快速行动吗? url 预填充在那里会更可靠,并且可以在任何地方工作。

    闪电中的 URL hacking 稍微简单一些,您使用字段 API 名称而不是 ID。这些都是不错的教程:https://www.salesforceben.com/salesforce-url-hacking-for-lightning-tutorial/, https://sfdcdevelopers.com/2020/02/26/url-trick-in-salesforce-lightning/

    那么,您如何知道您在 Classic 还是 LEX 中的位置。使用哪个网址?查看UiThemeDisplayed 变量,可用in VisualforceApex's UserInfo class

    IF($User.UIThemeDisplayed == 'Theme4d' || $User.UIThemeDisplayed == 'Theme4t' || $User.UIThemeDisplayed == 'Theme4u', 
        'link for lightning',
        'link for classic'
    )
    

    【讨论】:

    • 谢谢,我正要回答我的问题。了解 URL 黑客。感谢您的回答。我会尽快给出我的详细答案。
    • 使用了这个 userInfo.UiThemeDisplayed() 但对于某些用户来说,它正在回归经典,但用户仍然处于照明状态?
    • 听起来像错误。搜索一下,甚至可能使用 Salesforce 提高票?另一种方法是检查 ApexPages.currentPage().getUrl() 是否包含“闪电”?您的 VF 页面是否有 <apex:page lightningStylesheets="true"
    【解决方案2】:

    工作方法:

    为 VF 页面创建了一个控制器:

    global PageReference newParty() {
      PageReference pageRef;
      pageRef = new PageReference('/lightning/o/Party/new?defaultFieldValues=Contract='+contractID);
    return pageRef
    
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多