How to Hide a Menu Item in the ECB from SharePoint List Items

You can add new custom actions to the Edit Control Block (ECB) menu by using the Features framework. However, you cannot use this method to do the reverse – to hide existing ECB menu items– because they are rendered by using the ECMAScript (JavaScript, JScript) file, which is core.js. Note that modifying the core.js file is not supported or recommended.

Therefore, to hide ECB menu items, you must create a customcore.js file, modify this file to hide menu items, and then render the customcore.js file through a custom master page. Note that the out-of-the-box core.js file must remain in the custom master page; for that reason, your customcore.js file should have an attribute “Defer” with the value true.

The following steps allow you to create a customcore.js file and render it through the custom master page.

Hiding ECB menu items

  1. Copy the core.js file from its default location at %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\1033, place it in the same folder, and rename as customcore.js file.
  2. Make the necessary changes in the customcore.js file by removing unwanted ECB menu items.
  3. To create the custom master page, make a copy of the default.master page and rename it as custom.master.
  4. In the custom master page, add the following line to render the customcore.js file:

    <SharePoint:ScriptLink language=”javascript” name=”core.js” Defer=”true”  runat=”server”/><SharePoint:ScriptLink language=”javascript” name=”customcore.js”  Defer=”true” runat=”server”/>

  5. Save the custom.master page and upload it to the master pages gallery of the site. Then apply the custom.master page as the default master page for the site.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: