I have created a custom blog with the publishing feature enabled. When I am logged on with a normal user (with no admin rights) and click on a text or an image, "List Tools" appeares in the ribbon, kind of automatically goes into edit mode. I want to avoid this behavior. Any suggestion? Is there any settings that I can set?

1) When I open the blog the ribbon look like this: enter image description here 2) I click on some text: ex "What is a blog?": enter image description here

3) The ribbon look like this after I have clicked on the text for a normal user: enter image description here

  • Thanks for replies. I want to avoid to hide the ribbon bar. I want the blog to work like other publishing pages. If a user don't have permisson to a site, the "site Action" menu will not be shown. – Elisabeth Apr 28 '11 at 7:28

I noticed that the in the webpart div container there were two attributes, 'onkeyup' and 'onmouseup' which called a JavaScript function to trigger the list tools to show.

I added a single line of jQuery code to remove those two attributes from the s4-wpcell div container and I no longer get the list tools to show on when I click anywhere inside the list content.


I have included this inside the XSLT for the list view, but it could be included anywhere on the page after the web part or in the page head if it is referenced in a document ready statement.


This question came up some time ago on the MS foras.

The answers are more usable for anonymous access (eg removes for all) but see if it gets you going. http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/4848315b-c9c2-4bbb-a1cd-f3a106e0fd8e

  • This solution can be used even in Office 365 environment, so it can be very useful in some situations. +1 from me! – Andrey Markeev Apr 27 '11 at 11:57

In addition to Anders Rask solution, I would also recommend you to take a look at this codeplex project: http://spribbonvisibility.codeplex.com/

It allows conditionally hide ribbon for one or more SharePoint groups and for anonymous users, if it is needed.

You will need to deploy a farm-level wsp to your site to make it work, and appropriate privilegies for doing this.


This is how I used Andrey Markeev's answer. I added this to the bottom of my ASPX and it worked like a charm!

<script type="text/javascript" language="javascript">
if(typeof(MSOLayout_MakeInvisibleIfEmpty) == "function" MSOLayout_MakeInvisibleIfEmpty();}

//stops the XSLTListViewWebPart from calling the list tools in the s4-ribbonrow 



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.