jueves, 17 de junio de 2010

Ocultar el menú "Configuración" de listas en SharePoint 2007

Imaginen que por alguna circunstancia necesitan ocultar la opción de "Settings" de las listas. La alternativa natural es restringir esta opción por seguridad, pero si por alguna razón no pueden alterar la seguridad, les dejo un JavaScript que les permite ocultar el botón.
El artículo proviene del blog de Liedong(Ken) Zheng. Pueden leerlo en este enlace: http://littletalk.wordpress.com/2009/05/07/hide-actionsetting-menu-from-sharepoint-list/.
Luego de ocultar la opción, les quedará una barra como la siguiente:
image
Les dejo el código que pueden insertarlo dentro de una CEWP (directamente u ordenarlo mejor llevando la función a una librería JavaScript)
    <script>
        function HideDiv(name) {
            var div = document.getElementsByTagName('div');
            for (var i = 0; i < div.length; i++) {
                var str = div[i].id;
                if (str.indexOf(name) >= 0) {
                    var viewInExplorer = div[i];
                    if (viewInExplorer != null) {
                        if (viewInExplorer.parentNode != null)
                            viewInExplorer.parentNode.removeChild(viewInExplorer);
                    }
                }
            }
        }
        HideDiv("ListSettingsMenu");
    </script>
</script>

 

Variante

Otra variante que me ha resultado especialmente útil para el tag "ie:menuitem" es la que describe Mike Smith en este enlace: http://techtrainingnotes.blogspot.com/2008/02/sharepoint-hiding-menus-not-using.html.
Que les sea útil!
PD: no encontré forma de hacerlo mediante CSS ya que los nombres de los IDs son dinámicos y entiendo que Internet Explorer no acepta comodines.

8 comentarios:

disculpen soy principiante y neceito que me ayuden indicando donde colocar esa funcion.
a que se refiere con CEWP ??????????

Creo que este enlace puede servirte, en caso contrario no dudes en consultar!

http://surpoint.blogspot.com/2010/05/content-editor-web-part.html

Saludos!

como puedo ocultar el menu Nuevo?

Hola: no lo probé, pero mirando un poco el código fuente de la página, creo que estas son otras de las variantes:

HideDiv("UploadMenu");
HideDiv("NewMenu");
HideDiv("ListActionsMenu");

La segunda sería la que tu me consultas. Saludos!

:(

la verdad es que ya lo habia probado, tambien use el

HideDiv("ListNewMenu"); y tampoco me funciono...

seguire buscando...

saludos y gracias.

encontre un metodo para ocultar el menu NUEVO...
no se que tan bueno sea, pero me resulto...

<"script" src="/Javascript/jquery/jquery.js">
<"script">
$(document).ready(
function(){
$('.ms-menutoolbar td:lt(4)').hide();
}
);


la pagina es:
http://weblogs.asp.net/bsimser/archive/2009/11/12/hiding-the-new-toolbar-button-in-sharepoint-with-jquery.aspx

Puedes usar el método anterior también, pero usando TABLE en lugar de DIV. Esa era la razón por la cual no funcionaba. Gracias por compartir tu método.

:D
funciona...
muchas gracias, creo que este metodo es mas ortodoxo. asi que lo utilizare...

<'script>
function HideTable(name) {
var table = document.getElementsByTagName('table');
for (var i = 0; i < table.length; i++) {
var str = table[i].id;
if (str.indexOf(name) >= 0) {
var viewInExplorer = table[i];
if (viewInExplorer != null) {
if (viewInExplorer.parentNode != null)
viewInExplorer.parentNode.removeChild(viewInExplorer);
}
}
}
}
HideTable("NewMenu");

Publicar un comentario en la entrada