#1
Geschrieben: 04 November 2013 - 22:20
Ich benötige einen Tip von euch.
Ich möchte einen Adminmenülink anlegen. Weiß auch wie das funktioniert nur leider ist die Klasse "IAdminMenuPlugin" nicht mehr vorhanden. Wisst Ihr vielleicht von welcher Klasse ich jetzt erben muss um die ehemaligen Funktionen nutzen zu können. Vielleicht könnte die Frage auch kurz ein SmartStore Interner Entwickler beantworten.
Oder gibt es schon eine schönere Lösung solch ein Link im Adminmenü einzufügen?
Vielen Dank schon im voraus.
SmartSTore.NET Version 1.2.1 sowie 2.0.1 und bin begeistert. :-)
DBasner.de -> Plugins und mehr für SmartStore.net http://dbasner.de
Zum Beispiel:
LiveZilla Plugin für das Besuchertracking V 1.8
#2
Geschrieben: 04 November 2013 - 23:53
Beispiel-Implementierung für SmartStore.biz Importer MenuItem:
public class AdminMenu : IMenuProvider { public void BuildMenu(TreeNode<MenuItem> pluginsNode) { var menuItem = new MenuItem().ToBuilder() .Text("SmartStore.biz Import") .PermissionNames("AccessImportBiz") .Action("ConfigureMiscPlugin", "Plugin", new { systemName = "Import.Biz", area = "Admin" }) .ToItem(); pluginsNode.Append(menuItem); } }
Nach diesem Refactoring ist es nun auch möglich, eigene MenuItems an beliebige Root-Menüs anzuhängen, z.B. Katalog, Kunden, Konfiguration etc. Dazu findet man zuerst das gewünschte Menü per
pluginsNode.Root.SelectNode(...).
Murat Cakir
SmartStore AG
#3
Geschrieben: 05 November 2013 - 13:05
Das hatte ich schon gesehen: IMenuProvider
War ich also auf dem richtigen Weg.
Super vielen Dank für diese Information, durch die Änderung kann ich jetzt zwei Fliegen mit einer Klappe schlagen ;-) .
Grüße
Bearbeitet von Lucil, 05 November 2013 - 13:06,
etwas vergessen
SmartSTore.NET Version 1.2.1 sowie 2.0.1 und bin begeistert. :-)
DBasner.de -> Plugins und mehr für SmartStore.net http://dbasner.de
Zum Beispiel:
LiveZilla Plugin für das Besuchertracking V 1.8
#4
Geschrieben: 05 November 2013 - 23:16
Wie aknn ich es realisieren wenn das Plugin installiert wird, dass dieses Menü erstellt wird. Muss ich dafür eine extra Klasse anlegen oder kann ich das über den Install Aufruf erledigen. Für ein kurzes Feedback wäre ich dankbar.
Grüße
SmartSTore.NET Version 1.2.1 sowie 2.0.1 und bin begeistert. :-)
DBasner.de -> Plugins und mehr für SmartStore.net http://dbasner.de
Zum Beispiel:
LiveZilla Plugin für das Besuchertracking V 1.8
#5
Geschrieben: 06 November 2013 - 01:29
Beispiel (Glimpse Plugin):
using System; using System.Collections.Generic; using System.Web.Routing; using System.Web.Mvc; using SmartStore.Web.Framework.UI; using SmartStore.Collections; namespace SmartStore.Plugin.Import.Biz { public class AdminMenu : IMenuProvider { public void BuildMenu(TreeNode<MenuItem> pluginsNode) { var menuItem = new MenuItem().ToBuilder() .Text("Glimpse") .Action("ConfigureMiscPlugin", "Plugin", new { systemName = "Developer.Glimpse", area = "Admin" }) .ToItem(); pluginsNode.Append(menuItem); } } }
Murat Cakir
SmartStore AG
#6
Geschrieben: 06 November 2013 - 20:53
Manchmal sieht man den Wald vor lauter Bäumen nicht. Hat alles super funktioniert.
Wie kann man aber direkt zur Konfiguration des Plugins springen?
Grüße
SmartSTore.NET Version 1.2.1 sowie 2.0.1 und bin begeistert. :-)
DBasner.de -> Plugins und mehr für SmartStore.net http://dbasner.de
Zum Beispiel:
LiveZilla Plugin für das Besuchertracking V 1.8
#7
Geschrieben: 07 November 2013 - 01:40
.Action("ConfigureMiscPlugin", "Plugin", new { systemName = "Developer.Glimpse", area = "Admin" })
...sorgt ja bereits dafür, dass der richtige Link zum Plugin erzeugt wird. Da muss nur noch der systemName deines Plugins stehen.
Murat Cakir
SmartStore AG
#8
Geschrieben: 10 November 2013 - 15:02
Hab ich bereits gemacht. Bestimmt nur ein Schreibfehler von mir.
:o
Grüße
SmartSTore.NET Version 1.2.1 sowie 2.0.1 und bin begeistert. :-)
DBasner.de -> Plugins und mehr für SmartStore.net http://dbasner.de
Zum Beispiel:
LiveZilla Plugin für das Besuchertracking V 1.8