lunes, 27 de abril de 2015

¿Cómo agregar nodos en el Inicio Rápido / Top Link Bar en SharePoint con C#?

En este breve post mostramos como agregar programáticamente nodos en la barra de vínculos superior y/o en el inicio rápido de SharePoint:

contenido.InnerHtml += agregarNodoNavegacion(oWebsite, oWebsite.Navigation.QuickLaunch, "Charter", "Macroplan", "javascript: window.location.href((_spPageContextInfo.webServerRelativeUrl+'/lists/macroplan').replace('//','/'));", true);
                                    
contenido.InnerHtml += agregarNodoNavegacion(oWebsite, oWebsite.Navigation.TopNavigationBar, "Charter", "Macroplan", "javascript: window.location.href((_spPageContextInfo.webServerRelativeUrl+'/lists/macroplan').replace('//','/'));", true);


public string agregarNodoNavegacion(SPWeb web, SPNavigationNodeCollection menu, string previo, string nuevoNombre, string nuevoURL, bool  nuevoExterno)
{
            
            bool existeNuevo = false;
            int indicePrevio = 0;
            int indice = 0;
            
            foreach (SPNavigationNode itemMenu in menu)
            {
                if (itemMenu.Title == nuevoNombre) existeNuevo = true;
                if (itemMenu.Title == previo) indicePrevio = indice;
                indice++;
            }
            
            if (!existeNuevo && indicePrevio != 0)
            {
                SPNavigationNode nuevoNavigation = new SPNavigationNode(nuevoNombre, nuevoURL, nuevoExterno);
                menu.Add(nuevoNavigation, menu[indicePrevio]);
                return "<span style='color: green'>" + web.Title + ": " + nuevoNombre + " agregado en Navegación</span><br>";
            }
            else
                return "<span style='color: blue'>" + web.Title + ": Ya existe " + nuevoNombre + " en Navegación o no existe " + previo + "</span><br>";
}

0 comentarios:

Publicar un comentario en la entrada