breadcrumbDescription
Tilpas en Visualforce-komponent for at styre forløbets afslutningsadfærd
Brugere, der klikker på Udfør, starter som standard et nyt interview og ser den første skærm af forløbet. Når du har integreret et forløb på en Visualforce-side, skal du konfigurere finishLocation-attributten for at dirigere brugere til en anden side i Salesforce.
Angiv finishLocation med URLFOR-funktionen
- Du kan ikke omdirigere forløbsbrugere til en URL, der er ekstern i forhold til din Salesforce-organisation.
- Kald ikke
Auth.SessionManagement.finishLoginFlow-metoden ogfinishLocation-attributten i det samme forløb.Auth.SessionManagement.finishLoginFlowangiver slutningen af et Visualforce-sideloginforløb. HvisfinishLocationer i det samme forløb, køres, når forløbet starter, hvilket giver brugerne fuld adgang til sessionen.finishLocation
Hvis du vil dirigere brugere til en relativ URL eller en specifik registrerings- eller detaljeside ved brug af dens id, skal du bruge URLFOR-funktionen.
Dette eksempel dirigerer brugere til Salesforce-hjemmesiden.
<apex:page>
<flow:interview name="MyUniqueFlow" finishLocation="{!URLFOR('/home/home.jsp')}"/>
</apex:page>Dette eksempel dirigerer brugere til en detaljeside med id'et 001D000000IpE9X.
<apex:page>
<flow:interview name="MyUniqueFlow" finishLocation="{!URLFOR('/001D000000IpE9X')}"/>
</apex:page>Hvis du ønsker detaljer om URLFOR, skal du se Funktioner i Visualforce Developer’s Guide.
Angiv finishLocation med $Page-variablen
Hvis du vil distribuere brugere til en anden Visualforce-side uden at bruge URLFOR, skal du indstille finishLocation til navnet på destinationssiden med formatet {!$Page.pageName} .
<apex:page>
<flow:interview name="MyUniqueFlow" finishLocation="{!$Page.MyUniquePage}"/>
</apex:page>Hvis du ønsker detaljer om $Page, skal du se Globale variabler i Visualforce Developer’s Guide.
Angiv finishLocation med en controller
Du kan indstille finishLocation på nogle forskellige måder med en tilpasset controller.
Denne eksempelcontroller konfigurerer et forløbs afslutningsadfærd på tre forskellige måder.
public class myFlowController {
public PageReference getPageA() {
return new PageReference('/300');
}
public String getPageB() {
return '/300';
}
public String getPageC() {
return '/apex/my_finish_page';
}
}
getPageAopretter en ny sidereference ved at overføre en streng for at definere placeringen.getPageBreturnerer en streng, der behandles som en PageReference.getPageCreturnerer en streng, der bliver oversat til en PageReference.
Her er et eksempel på en Visualforce-side, der refererer til denne controller og indstiller forløbets afslutningsadfærd til den første valgmulighed.
<apex:page controller="myFlowController">
<h1>Congratulations!</h1> This is your new page.
<flow:interview name="flowname" finishLocation="{!pageA}"/>
</apex:page>
Hvis du bruger en standardcontroller til at vise en registrering på den samme side som forløbet, vil brugere, der klikker på Udfør, starte et nyt forløbsinterview. De ser den første skærm af forløbet, uden registreringen, fordi id-forespørgselstrengsparameteren ikke bevares i side-URL'en. Konfigurer om nødvendigt finishLocation til at dirigere brugerne tilbage til registreringen.
