1

We have a seemingly simple need to create a hyperlink that will redirect users to a tab in our Lightning Experience site that is a Visualforce tab. Lightning Components have navigateTo() methods that allow us to navigate to specific URLs, and most other tabs in Lightning have reasonable URLs like /one/one.app?source=aloha#/sObject/Contact/home that allow us to deploy these links from org to org. But Visualforce tabs have very complex URLs that are dynamically generated and vary from org to org. How can we create (and deploy) links to allow users to navigate to these tabs?

2 Answers 2

0

Visualforce tabs are wrappers around Visualforce pages. Visualforce pages are still URL-addressable from Lightning experience, so you can create a link like /apex/yourPage inside a Lightning Experience page and it will navigate to that. One limitation is that page will appear outside of Lightning Experience, as a standalone page. So it's better to have that open as a new window for the user.

2
  • 2
    I have a feeling that this isn't the best possible solution, since leaving Lightning Experience breaks the user experience.
    – sfdcfox
    Commented Dec 1, 2016 at 21:06
  • I agree that it's not ideal, and better solutions are welcomed (and hopefully forthcoming from Salesforce), but this is the best I could figure out ;-).
    – abd3721
    Commented Dec 3, 2016 at 15:39
0

I think you can just fire event like below with the page name you need and LEX framework will take care of the rest.

var urlEvent = $A.get("e.force:navigateToURL"); 
urlEvent.setParams({ "url":"/apex/vfPageName" }); 
urlEvent.fire();

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .