@model PluginSearchModel @using Nop.Services.Plugins @{ //page title ViewBag.PageTitle = T("Admin.Configuration.Plugins.Local").Text; //active menu item (system name) NopHtml.SetActiveMenuItemSystemName("Local plugins"); } @{ const string hideSearchBlockAttributeName = "LocaLPluginsPage.HideSearchBlock"; var hideSearchBlock = await genericAttributeService.GetAttributeAsync(await workContext.GetCurrentCustomerAsync(), hideSearchBlockAttributeName); }

@T("Admin.Configuration.Plugins.Local")

@if (Model.NeedToRestart) { } @await Component.InvokeAsync(typeof(AdminWidgetViewComponent), new { widgetZone = AdminWidgetZones.PluginListButtons, additionalData = Model })
@await Html.PartialAsync("Table", new DataTablesModel { Name = "plugins-local-grid", UrlRead = new DataUrl("ListSelect", "Plugin", null), SearchButtonId = "search-plugins-local", Length = Model.PageSize, LengthMenu = Model.AvailablePageSizes, Filters = new List { new FilterParameter(nameof(Model.SearchFriendlyName)), new FilterParameter(nameof(Model.SearchGroup)), new FilterParameter(nameof(Model.SearchLoadModeId)), new FilterParameter(nameof(Model.SearchAuthor)) }, ColumnCollection = new List { new ColumnProperty(nameof(PluginModel.Group)) { Title = T("Admin.Configuration.Plugins.Fields.Group").Text, Width = "150" }, new ColumnProperty(nameof(PluginModel.LogoUrl)) { Title = T("Admin.Configuration.Plugins.Fields.Logo").Text, Width = "200", ClassName = NopColumnClassDefaults.CenterAll, Render = new RenderPicture() }, new ColumnProperty(nameof(PluginModel.Description)) { Title = T("Admin.Configuration.Plugins.Info").Text, Width = "400", Render = new RenderCustom("renderColumnDescription") }, new ColumnProperty(nameof(PluginModel.FriendlyName)) { Title = T("Admin.Configuration.Plugins.AdditionalInfo").Text, Render = new RenderCustom("renderColumnFriendlyName") }, new ColumnProperty(nameof(PluginModel.Installed)) { Title = T("Admin.Configuration.Plugins.Fields.Installation").Text, Width = "100", ClassName = NopColumnClassDefaults.Button, Render = new RenderCustom("renderColumnInstalled") } } })
@await Component.InvokeAsync(typeof(AdminWidgetViewComponent), new { widgetZone = AdminWidgetZones.PluginDetailsBlock, additionalData = Model })
@*upload plugin form*@