0

在联系人记录中有一个名为“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>

挑战:

通常,当您在联系人上并且我单击“新礼物”按钮时,礼物_c 对象中的 Contact_c 字段被填充为我刚来的人。如何确保在新的 Visual Force 页面上仍然发生这种情况

4

2 回答 2

1

实际上,只要您覆盖“新建/编辑”按钮以指向新页面,此功能就会开箱即用。

覆盖按钮

于 2012-09-25T17:20:58.213 回答
0

有所谓的 lkid hack。这是一个未记录的功能,即父级的值作为 GET 参数从相关列表上的“新建”按钮传递。因此,您可以通过这种方式提取参数,但人们普遍认为这是一个非常脆弱的解决方案。

或者这里发布了一个非常简洁的解决方案:hack-to-find-field-ids-allows-a-default-ui-new-page-to-be-pre-populated

此解决方案是屏幕抓取页面 html 中所有 lkid 值的标准编辑页面。这可能有朝一日停止工作的原因有很多,但它可能比逆向工程获取参数更强大。

于 2012-09-24T23:01:44.713 回答