1
votes

I was wondering if someone could help me out with Sharepoint 2007. What I want to do is to add a custom menu item to a context menu (the menu that opens when you click a document or another item).

Right now, the menu looks like this: picture

I want to add an item, "Do stuff" for example, to this menu. Major problems:

  1. I wish this item to appear only in menus for a certain file type (e.g. only for .html but not for .doc);
  2. When I click this item ("Do stuff"), I want to call custom external code (written in C#, either an exe or a DLL), which accepts the name of the clicked file as an input parameter.

I understand the way to achieve this is by using Custom Actions (no javascript editing required in 2007, right?). But since I'm quite new to MOSS, I'm a bit lost and not sure what exactly to do and where to start, so any help is greatly appreciated.

2

2 Answers

1
votes

You have to implement a CustomAction like this:

<CustomAction
   Id="YourUniqueId"
   Location="EditControlBlock"
   RegistrationType="FileType"
   RegistrationId="html"
   Sequence="20"
   Title="The text you want">
  <UrlAction Url="~site/_layouts/company/ActionPage.aspx?List={ListId}&amp;ID={ItemId}" />
</CustomAction>

What you put in the Url of UrlAction depends on what you want to do. It can be JavaScript or the url of a Page or Handler.

In my example it's a Page which gets the QueryParameters so that SPContext.Current.ListItem will contain the selected documents listitem.

1
votes
<?xml version="1.0" encoding="utf-8"?>
<Elements Id="d0574a32-59ce-4561-9496-ccf17da37a35" xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="Test2"
           Location="EditControlBlock"
           RegistrationType="FileType"
  //docx = documents, txt = text files, html = html files**       
                   RegistrationId="docx"       Sequence="10"
           Title="View Item Properties">
    <UrlAction Url="~site/_layouts/WSSHOL/ViewPageRedirect.aspx?listid={ListId}&amp;itemid={ItemId}" />
  </CustomAction>
</Elements>