Sharepoint 2007 - пользовательское контекстное меню для определенных типов файлов - PullRequest
1 голос
/ 23 июля 2010

Мне было интересно, может ли кто-нибудь помочь мне с Sharepoint 2007. Что я хочу сделать, это добавить пользовательский пункт меню в контекстное меню (меню, которое открывается, когда вы щелкаете документ или другой элемент).

В данный момент меню выглядит следующим образом: картинка

Я хочу добавить элемент, например «Делать вещи», в это меню.Основные проблемы:

  1. Я хочу, чтобы этот элемент отображался только в меню для определенного типа файла (например, только для .html, но не для .doc);
  2. Когда я нажимаю этот элемент(«Делать вещи»), я хочу вызвать пользовательский внешний код (написанный на C #, exe или DLL), который принимает имя файла, по которому щелкнули, в качестве входного параметра.

Iпонять, как этого добиться, можно использовать пользовательские действия (редактирование JavaScript не требуется в 2007 году, верно?).Но так как я совсем новичок в MOSS, я немного растерялся и не уверен, что именно делать и с чего начать, поэтому любая помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 10 мая 2011
<?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>
1 голос
/ 23 июля 2010

Вы должны реализовать CustomAction следующим образом:

<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>

То, что вы вставите в URL UrlAction, зависит от того, что вы хотите сделать.Это может быть JavaScript или URL страницы или обработчика.

В моем примере это страница, которая получает QueryParameters, так что SPContext.Current.ListItem будет содержать список выбранных документов.

...