Schönen guten Tag,
ich arbeite mich seit ein paar Tagen in die Plugin-Strukturen von Smartstore ein.
Ich möchte auf der Produktdetailseite, durch ein eigen angelegtes Widget, Daten ausgeben, die ich dem Produkt im Backend zugewiesen habe.
Ich habe nach einer Möglichkeit gesucht, wie ich im Plugin-Controller auf die Produk-Atribute (z. B. Product-Id) zugreifen kann.
Ich habe eine Möglichkeit gefunden:
var myRoute = this.Request.RequestContext.RouteData;
public ActionResult ExtendFrontend() { string entityName = "product"; int entityId = 0; var myRoute = this.Request.RequestContext.RouteData; foreach(KeyValuePair<string, object> entry in myRoute.Values) { if(entry.Key == "productid") { entityId = (int)entry.Value; break; } } var model = new AdminEditTabModel(); var entity = _testEventsService.GetTestEventsRecord(entityId, entityName); model.attribute1 = entity.attribute1; if (entity != null) { return View(model); } return View(model); }
Meine Frage ist nun, ist das eine cleane Möglichkeit um an solche Daten zu gelangen oder gibt es bessere Methoden dafür?
MfG
das Lighthouse-Team