ps-team
10/27/2017 - 8:09 AM

Example showing the best way to get node by legacy Content and Folder Ids, it is recommended to put this in App_Code and use this one class

Example showing the best way to get node by legacy Content and Folder Ids, it is recommended to put this in App_Code and use this one class throughout as this functionality uses CMS_API and this will be deprecated soon.

@using Contensis.Framework.Web;
@using CMS_API.Navigation;

@functions {
  
  class NodeLookup {
    
    public ContentNode GetWebPage(int webPageId) {
    	var navigationProvider = NavigationProviderFactory.GetNavigationProvider(NavigationProviderType.Xml);
    	var navigationItem = navigationProvider.GetNavigationWebpage(webPageId);
    	if (navigationItem == null) return null;
    	var nodeFactory = new NodeFactory();
    	return nodeFactory.LoadById(navigationItem.NodeId) as ContentNode;
  	}
    
    public string GetWebPagePath(int webPageId) {
    	var navigationProvider = NavigationProviderFactory.GetNavigationProvider(NavigationProviderType.Xml);
    	var navigationItem = navigationProvider.GetNavigationWebpage(webPageId);
    	if (navigationItem == null) return null;
    	return navigationItem.Uri.LocalPath;
  	}
    
    public ContentNode GetContent(int contentId) {
    	var navigationProvider = NavigationProviderFactory.GetNavigationProvider(NavigationProviderType.Xml);
    	var navigationItem = navigationProvider.GetNavigationContent(contentId);
    	if (navigationItem == null) return null;
    	var nodeFactory = new NodeFactory();
    	return nodeFactory.LoadById(navigationItem.NodeId) as ContentNode;
  	}
    
    public string GetContentPath(int contentId) {
    	var navigationProvider = NavigationProviderFactory.GetNavigationProvider(NavigationProviderType.Xml);
    	var navigationItem = navigationProvider.GetNavigationContent(contentId);
    	if (navigationItem == null) return null;
    	return navigationItem.Uri.LocalPath;
  	}
    
    public FolderNode GetFolder(int folderId) {
    	var navigationProvider = NavigationProviderFactory.GetNavigationProvider(NavigationProviderType.Xml);
    	var navigationItem = navigationProvider.GetNavigationFolder(folderId);
    	if (navigationItem == null) return null;
    	var nodeFactory = new NodeFactory();
    	return nodeFactory.LoadById(navigationItem.NodeId) as FolderNode;
  	}
    
    public string GetFolderPath(int folderId) {
    	var navigationProvider = NavigationProviderFactory.GetNavigationProvider(NavigationProviderType.Xml);
    	var navigationItem = navigationProvider.GetNavigationFolder(folderId);
    	if (navigationItem == null) return null;
    	return navigationItem.Uri.LocalPath;
  	}
    
  } 
    
}


@{
  var lookup = new NodeLookup();
  var page = lookup.GetWebPage(7144);
  var image = lookup.GetContent(46720);
  var folder = lookup.GetFolder(3702);
}  

Page: @page.Path

Page Path: @lookup.GetWebPagePath(7144)
  

Image: @image.Path

Image Path: @lookup.GetContentPath(46720)
 
  
Folder: @folder.Path

Folder Path: @lookup.GetFolderPath(3702)