Salesforce 创建子视觉力页面

Salesforce 创建子视觉力页面,salesforce,visualforce,Salesforce,Visualforce,我在联系人记录中有一个名为“Gift_c”的自定义对象。我想用visualforce页面替换标准的“Gift_c”页面,以便有选择地隐藏某些字段 一切都非常简单 <apex:page standardController="Gift__c" showHeader="true" > <apex:form > <apex:pageBlock title="" mode="Edit"> <apex:pageMessages />

我在联系人记录中有一个名为“Gift_c”的自定义对象。我想用visualforce页面替换标准的“Gift_c”页面,以便有选择地隐藏某些字段

一切都非常简单

<apex:page standardController="Gift__c" showHeader="true"   >
<apex:form >      
<apex:pageBlock title="" mode="Edit">
    <apex:pageMessages />
    <apex:pageBlockButtons >
        <apex:commandButton value="Save" action="{!save}"/>
        <apex:commandButton value="Cancel" action="{!cancel}"/>               
    </apex:pageBlockButtons>
    <apex:pageBlockSection title="Basic Information" columns="1">
        <apex:inputField value="{!Gift__c.Contact__c}"/>
        <apex:inputField value="{!Gift__c.GiftAmount__c}"/>
    </apex:pageBlockSection>        
</apex:pageBlock>
</apex:form>

挑战:


通常情况下,当您在联系人上时,我单击“新建礼物”按钮,礼物对象中的联系人字段将填充为我刚出生的人。我如何确保新的视觉力量页面上仍然存在所谓的lkid黑客。父级的值作为GET参数从相关列表上的New按钮传递,这是一个未记录的特性。因此,您可以通过这种方式提取参数,但人们普遍认为这是一个非常脆弱的解决方案

或者这里有一个非常简洁的解决方案:


此解决方案是在标准编辑页面上对页面html中的所有lkid值进行屏幕抓取。有同样多的原因可以解释为什么有一天它会停止工作,但它可能比反向工程get参数更健壮。

实际上,只要您覆盖“新建/编辑”按钮以指向新页面,该功能就可以实现