2017-05-10 2 views
1

Ich möchte eine Funktion zu dem CartController (eckigen) in der Storefront hinzufügen.Hinzufügen von Funktionen zu bestehenden Angular Controller in VirtoCommerce Storefront

Ich könnte die Storefront fork und dann meine Änderung vornehmen und laden nur "meine" Storefront.

Gibt es eine Möglichkeit, ein eigenes Modul mit dem Zweck zu erstellen, den Controller zu erweitern oder zu überschreiben, so dass ich immer noch das Basis-Storefront-Modul verwenden und einfach mit meinen Änderungen erweitern kann.

Antwort

1

zum Schaufenster erstreckt Sie folgende Regeln beachten sollten auf die neueste Schaufenster Version ohne ‚Verschmelzung Hölle‘ aktualisieren zu können:

  • Try direkte exist Storefront-Controller Änderungen zu vermeiden, erstellen Sie eigene Controller in getrennten Lösungsordnern mit Präfixen für Klassen- und Dateinamen. zB

VirtoCommerce.Storefront/My Extension/myCartController

  • Registrieren neue Routen und Abhängigkeiten von Startup.cs Modifizieren (es ist Ausnahme)
  • Alle Schaufenster Modellklassen gekennzeichnet als teilweise und wird leicht werden, um die Definition über zwei oder mehr Quelldateien zu teilen es innerhalb
    VirtoCommerce.Model und VirtoCommerce.LiquidThemeEngine Projekte. zB

VirtoCommerce.Storefront.Model/My Extension/ShoppingCart.cs

In diesem article können Sie den gesamten Lösungsentwicklungsprozess sehen.

+0

Also ich spreche in diesem Fall speziell über die Winkelsteuerung. Ich fügte eine Funktion hinzu und checkte sie ein. Dann habe ich meine Gabel mit der neuesten Version refinanziert, um sicherzustellen, dass meine Änderungen oben liegen, um die Idee durchzusetzen, dass Basisänderungen zuerst auftreten und ich immer auf diesen aufbaue. Dies hat diesmal funktioniert, aber gibt es eine bessere Möglichkeit, eine Funktion zu einem Angular Controller hinzuzufügen? –

+0

Wenn Sie sich dazu entschieden haben, das Standardthema '~/App_Data/Themes/default' zu ändern, können Sie dort alles bearbeiten, aber Sie sollten beim Zusammenführen darauf achten, Ihre Änderungen nicht zu verlieren, da das Standardthema auch im Originalrepository geändert werden kann. Ich würde vorschlagen, dass Sie Ihr eigenes Thema als Kopie des Standards erstellen und es in das eigene Github-Repository legen und dort alle Änderungen vornehmen. – tatarincev

+0

Der Angular Controller ist nicht im Design, das es in der Storefront ist. Ich habe mein Thema in meinem eigenen Repo, wie ich in der Antwort auf die Themenfrage erklärt habe. Das funktioniert großartig. Willst du sagen, ich könnte den Controller in meinem Thema platzieren und dort überschreiben? –

Verwandte Themen