Hi David, there are no examples or documentation I'm aware of. But I can give you a sample.
namespace <Company>.DDRMenuProvider
{
using DotNetNuke.Entities.Portals;
using DotNetNuke.Web.DDRMenu;
using MenuNode = DotNetNuke.Web.DDRMenu.MenuNode;
public class MyModule : INodeManipulator
{
public List<MenuNode> ManipulateNodes(List<MenuNode> ddrNodes, PortalSettings portalSettings)
{
ddrNodes.Clear(); // Removes all nodes present (by default DotNetNuke Tabs)
ddrNodes.Add(new MenuNode { Text = "YourText", Url = "YourUrl", Parent = parentNodeIfAny }); // Or any other properties, note some like First/Last etc are automatic
return ddrNodes;
}
}
}
Once you compile it you need to pass type of this manipulator to DDR. If you have it as module on page, go to its settings and set Node Manipulator type to "<Company>.DDRMenuProvider.MyModule, <Company>.DDRMenuProvider" (without quotes, first is path to class and second is assembly name). You can pick any namespace you want. Let me know if it works for you.