2010-01-04 23 views
7

Tôi muốn Trình đơn tác vụ tùy chỉnh của mình được áp dụng cho danh sách cụ thể; hiện được chỉ định với XML sau và được áp dụng cho tất cả các danh sách!Trình đơn hành động tùy chỉnh cho Danh sách chia sẻ cụ thể

Cụ thể hơn; Tôi thậm chí còn muốn áp dụng hành động tùy chỉnh này cho một chế độ xem cụ thể của danh sách cụ thể ...

<CustomAction 
    Id="MyCustomActionId" 
    Title="My Custom Action" 
    Description="My Custom Action Description" 
    RequireSiteAdministrator="FALSE" 
    RegistrationType="List" 
    GroupId="ActionsMenu" 
    Sequence="1000" 
    Location="Microsoft.SharePoint.StandardMenu" > 
    <UrlAction Url="{SiteUrl}/_layouts/MySharepointArtifacts/MyCustomAction.aspx?ListId={ListId}"/> 
    </CustomAction> 

Làm cách nào để thực hiện việc này?

+0

Tôi đã có mở rộng stsadm tại chỗ để sửa chữa các trường tra cứu. Nó sẽ là tốt để thêm một phần mở rộng. Tôi có thể truy cập vào hành động tùy chỉnh được cấu hình thông qua mô hình đối tượng Sharepoint? –

+0

Tôi cũng đã thử thêm liên kết trong danh sách 'schema.xml (List/Views/ViewHeader) và nó đang được chấp nhận bởi người dùng. Ở đó tôi cần phải biết tương đương với UrlAction ~ site moniker để đưa ra –

Trả lời

9

Creeate loại nội dung (dựa trên mục bạn muốn tạo menu ECB) và thêm loại nội dung vào danh sách của bạn. Tạo một customAction và đăng ký nó vào kiểu nội dung. Menu ECB sẽ chỉ hiển thị trên các mục của loại nội dung đã cho trong danh sách mà bạn đã thêm loại nội dung.

Đây là một nội dung loại căn cứ vào xây dựng trong kiểu nội dung tài liệu:

<?xml version="1.0" encoding="utf-8"?> 
<Elements Id="f55bc095-86f5-4c0a-961e-0e8f8e6c50ed" xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ContentType ID="0x0101002936a05e70da4cf2a6846c669da7fdb6" 
       Name="CTName" 
       Group="CT group Name" 
       Description="CT description" 
       Version="0"> 
    <FieldRefs>... 

Tạo một hành động tùy chỉnh để các kiểu nội dung (ref kiểu nội dung id.):

<CustomAction 
     Id="MyCustomActionId" 
     Title="My Custom Action" 
     Description="My Custom Action Description" 
     RequireSiteAdministrator="FALSE" 
     RegistrationType="ContentType" 
RegistrationId="0x0101002936a05e70da4cf2a6846c669da7fdb6" 
     GroupId="ActionsMenu" 
     Sequence="1000" 
     Location="EditControlBlock" > 
     <UrlAction Url="{SiteUrl}/_layouts/MySharepointArtifacts/MyCustomAction.aspx?ListId={ListId}"/> 
     </CustomAction> 
+2

Tôi có thể sai, nhưng đối với tôi, mã này chỉ làm việc với "Location =" EditControlBlock ". – brentlightsey

+0

@lividsquirrel là đúng - khóa một CustomAction xuống ID loại nội dung cụ thể thông qua phương thức trên không hoạt động khi Vị trí = "Microsoft.SharePoint.StandardMenu" và GroupId = "ActionsMenu", nhưng nó hoạt động khi Location = "EditControlBlock" (một lần nữa là trạng thái @lividsquirrel) –

+0

chính xác rằng bạn phải sử dụng Location = "EditControlBlock" để làm cho nó hoạt động. Tôi sẽ cập nhật câu trả lời của mình. – Tomso

Các vấn đề liên quan