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)