Created
October 27, 2017 08:09
-
-
Save ps-team/86ba0a2b54557c1b751b61f248c45e97 to your computer and use it in GitHub Desktop.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment