2016-06-24 6 views
2

Ich benutze das silvershop-core Modul und ich möchte einen zusätzlichen Bestellstatus zu dem existierenden enum Feld Order.Status hinzufügen. Wie kann ich das tun?Wie kann ich einem vorhandenen enum-Feld einen neuen enum-Wert hinzufügen?

Ich habe bereits versucht, die DataExtension Ansatz, aber es hat nicht funktioniert.

+2

Mögliches Duplikat von [Overload Enum in SilverStripe DataExtension] (http://stackoverflow.com/questions/37352714/overload-enum-in-silverstripe-dataextension) – 3dgoo

Antwort

3

Sie können individuelle db Felder über YAML Config überschreiben. So in mysite/_config/config.yml etwas so:

Order: 
    db: 
    Status: "Enum('MyStatus,Unpaid,Paid,Processing,Sent,Complete,AdminCancelled,MemberCancelled,Cart','Cart')" 

Wie Sie sehen können, wurde MyStatus zum Enum hinzugefügt. Es ist wichtig, dass Sie alle anderen Status beibehalten (da einige Codes davon abhängen können). Kopieren Sie daher die Felddefinition am besten von der Klasse, die überschrieben werden soll (in diesem Fall Order), und fügen Sie die zusätzlichen Enum-Werte hinzu .

Verwandte Themen