You need to sign in to do that
Don't have an account?
Harjeet Singh 28
How I populate field values from a VF page to the site VF page
Hi All,
I have a VF page with standard controller and extension.This page basically used by salesforce user to enter the values.This form has an email field.Upon saving record an email should trigger to external user on the email id specified during record creation.The email whcih an external user receives will have link to the sites which we have created.Now when user copy paste the site link in browser tab then a new VF page will appear will some fields auto populate.
Basically my VF page is up and running.My site is up and running.For Salesforce users and external users I am displaying the same VF page with some sections (used renedring) but I am not able to auto populate the fieldson site VF.
Lets say in my vf page where salesforce users are entering values(name,email,mobile).When they save record the email will go to the email id specified during record creation. When external user receive email which will have link for the external site and go to that external site I want name and email field will be auto puplate this time and external user can only enter their mobile no
Below is snippet from my VF page():
I am not able to auto populate the name and email on the page which external user will see
Any help would be greatly appreciated
Kindly help
Mnay thanks in advance
I have a VF page with standard controller and extension.This page basically used by salesforce user to enter the values.This form has an email field.Upon saving record an email should trigger to external user on the email id specified during record creation.The email whcih an external user receives will have link to the sites which we have created.Now when user copy paste the site link in browser tab then a new VF page will appear will some fields auto populate.
Basically my VF page is up and running.My site is up and running.For Salesforce users and external users I am displaying the same VF page with some sections (used renedring) but I am not able to auto populate the fieldson site VF.
Lets say in my vf page where salesforce users are entering values(name,email,mobile).When they save record the email will go to the email id specified during record creation. When external user receive email which will have link for the external site and go to that external site I want name and email field will be auto puplate this time and external user can only enter their mobile no
Below is snippet from my VF page():
<apex:page standardController="Driver_Survey__c" extensions="SurveyForDriverController" sidebar="false" lightningStylesheets="true" showHeader="{! $Profile.Name == 'System Administrator' }" > <apex:form > <!--Below section will be sued by the Salesforce user to enther details and save record--> <apex:pageBlockSection columns="1" collapsible="false" title="Driver Information" rendered="{!IF($Profile.Name =='Profile1'|| $Profile.Name =='Profile2' , true, False)}" > <apex:inputField label="Name" value="{!survey.Name__c}" required="true"/> <apex:inputField label="Mobile" value="{!survey.Mobile__c}" required="true" /> <apex:inputField label="Email" value="{!survey.Email__c}" required="true" /> </apex:pageBlockSection> <!--Below section will be visible on Sites for external user--> <apex:pageBlockSection columns="1" collapsible="false" title="Driver Information" rendered="{!IF($Profile.Name=='Transport Questionnaire Profile',true,false)}" > <apex:inputField label="Name1" value="{!survey.Name__c}"/> <apex:outputField label="Mobile1" value="{!survey.Mobile__c}"/> <apex:outputField label="Email1" value="{!survey.Email__c}"/> </apex:pageBlockSection> <apex:pageBlockButtons > <apex:commandButton value="Save" action="{!doFullSave}" /> <apex:commandButton value="Cancel" action="{!doCancel}" immediate="true"/> </apex:pageBlockButtons> </apex:pageBlock> </apex:form> </apex:page>Below is my controller(pasting only required snippet):
public class SurveyForDriverController{ //class variables public Driver_Survey__c survey{get;set;} Public String name{get;set;} Public String ordid; public GrabSurveyForDriverController(ApexPages.StandardController controller){ survey=new Grab_Driver_Survey__c(); survey=(Grab_Driver_Survey__c)controller.getRecord(); system.debug('message3>>'+survey ); Id profileId=userinfo.getProfileId(); String profileName=[Select Id,Name from Profile where Id=:profileId].Name; system.debug('ProfileName'+profileName); if(profileName=='Grab Transport Questionnaire Profile'){ survey.Name__c=ApexPages.currentPage().getParameters().get('ordid'); } } public PageReference doFullSave(){ system.debug('message1>>'+survey ); insert survey; SendEmail(); PageReference pageRef = new PageReference('/'+survey.Id); pageRef.setRedirect(true); return pageRef; } public PageReference doCancel(){ PageReference pageRef = new PageReference('/'); pageRef.setRedirect(true); return pageRef; } public void SendEmail(){ Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.toAddresses = new String[] { survey.Email__c }; mail.subject = 'Subject Test Message'; String body = 'Hi \n '; body += + survey.Name__c+ '<br><br>' ; body+= +'Request you to kindly fill in the questionnaire'+ '<br><br>'; body+= +'https://"My siteURL"/myVFpagename; mail.setHtmlBody(body); Messaging.SingleEmailMessage[] mailss = new List<Messaging.SingleEmailMessage> {mail}; Messaging.SendEmailResult[] results = Messaging.sendEmail(mailss); if (results[0].success) { System.debug('The email was sent successfully.'); } else { System.debug('The email failed to send: ' + results[0].errors[0].message); } } }
I am not able to auto populate the name and email on the page which external user will see
Any help would be greatly appreciated
Kindly help
Mnay thanks in advance
Thanks you have responded my query.Yes I understand what you are trying to say and tried to implement that way also before I posted on community.
Below was my approach: I append the URL something like:
1.body+= +'https://"My siteURL"/myVFpagename?ordid
2. Declare ordid as String which takes name,email
3. Tried to get parameters in constructor
But not getting the results. I assume I am doing something wrong inside the constructor.If you can help me on same it would be great help for me
Many thanks in advance