2016-07-28 2 views
3

Я вижу, что Медиа-библиотека имеет возможность прикреплять фигуры к навигации и действиям. Тем не менее, я пытаюсь выяснить, как добавить форму действия к действиям, чтобы я мог добавить новую новую кнопку в медиабиблиотеку, чтобы вызвать действие в моем модуле.Добавление пользовательских действий в библиотеку медиачисток Orchard CMS

Из библиотеки мультимедиа AdminController.cs:

// let other modules enhance the ui by providing custom navigation and actions 
var explorer = Services.ContentManager.New("MediaLibraryExplorer"); 
explorer.Weld(new MediaLibraryExplorerPart()); 

var explorerShape = Services.ContentManager.BuildDisplay(explorer); 

var viewModel = new MediaManagerIndexViewModel { 
    CustomActionsShapes = explorerShape.Actions, // <-- I need to have my shape that is rendered as a button in here 
}; 

Еще немного слишком зеленый с Orchard, но чувствует, как дырка в моем понимании, используя формы и размещения их. Я не думаю, что часть должна быть задействована для фигуры, которая отображает кнопку, поскольку ничего не нужно хранить?

ответ

3

Мне удалось это решить. Сначала возвращают новую форму для MediaLibraryExplorerPart в MediaLibraryExplorerPartDriver

public class MediaLibraryExplorerPartDriver : ContentPartDriver<MediaLibraryExplorerPart> { 
    protected override DriverResult Display(MediaLibraryExplorerPart part, string displayType, dynamic shapeHelper) { 
     return ContentShape("Parts_MediaLibraryExplorer_MyActionShape",() => shapeHelper.Parts_MediaLibraryExplorer_MyActionShape()); 
    } 
} 

Затем поместите в зоне действия

<Placement> 
    <Place Parts_MediaLibraryExplorer_MyActionShape="Actions:6" /> 
</Placement> 

Затем создайте шаблон (просмотров/Запчасти/MediaLibraryExplorer.MyActionShape.cshtml) для формы с для вызова действия контроллера модуля:

@Html.ActionLink(T("Click Me").Text, "Index", "Admin", new { area = "Orchard.MyModule" }, new { id = "click-me-link", @class = "button" }) 

Как легко было это ?!

 Смежные вопросы

  • Нет связанных вопросов^_^