Ich hatte mal einen eigenen Bestellstatus angelegt nach der Anleitung unter https://community.shopware.com/Tutorial-Neuen-Bestell---Zahlstatus-erstellen_detail_1950.html
Dieser wird seit einem der letzten Updates im Backend nicht mehr angezeigt, es erscheint nur ein leerer Eintrag im Dropdown. Auch ein neu angelegter Status hat das selbe Problem.
Kann jemand dieses Problem bestätigen bevor ich ein Ticket aufmache?
LG
Super, danke. Hatte nichts dazu gefunden.
Ich frage mich nur, warum so kompliziert. Shopware hat doch die Infrastuktur für einfache CRUD-Operationen.
Hallo zusammen,
ich habe das gleiche Problem. Nur bei mir werden auch die nicht angezeigt die vorher default angelegt waren. Siehe Screenshot. Was kann ich hier tun?
Mamo
20. September 2018 um 19:05
5
Hab das gleiche Problem . langsam macht es keinen Spaß mehr.
Im Ticket steht ja schon quasi, wie man das vorab beheben kann.
Dazu die Dateien
/themes/Backend/ExtJs/backend/base/model/order_status.js
und
/themes/Backend/ExtJs/backend/base/model/payment_status.js
anpassen.
Je nachdem ob man einen Payment-Status oder einen Bestellstatus hat.
Dazu muss man in der Datenbank s_core_states den Namen des Status nachschauen und ob er ein payment oder order status ist.
Je nach Status wird dann die Datei angepasst und oben im Bereich Snippets eine neue Zeile eingefügt:
/**
* Shopware Model - Global Stores and Models
*
* The payment model represents a data row of the s_core_states or the
* Shopware\Models\State\State doctrine model.
*/
//{namespace name=backend/static/payment_status}
//{block name="backend/base/model/payment_status"}
Ext.define('Shopware.apps.Base.model.PaymentStatus', {
/**
* Defines an alternate name for this class.
*/
alternateClassName: 'Shopware.model.PaymentStatus',
/**
* Extends the standard Ext Model
* @string
*/
extend:'Shopware.data.Model',
/**
Beispiel:
Orderstatus heißt in der Datenbank - Spalte Name - “test_status” und Spalte typ ein “payment”
Dann wird dort in der Datei payment_status eine neue Zeile eingefügt:
test_status: '{s name=test_status}Test Status{/s}',
Danach den Cache löschen und das Backend neu laden. Danach wird der Status wieder ausgewiesen und dafür wurde ein Textbaustein angelegt der auch übersetzbar ist.
1 „Gefällt mir“
Falls sich jemand fragt, wie man die Snippets in die .js Datei bekommt, ohne die Theme-Dateien zu verändern und somit updatefähig zu sein:
Ihr müsst ein Plugin erzeugen.
Dort in der Install-Methode das Enlight_Controller_Action_PostDispatch_Backend_Base Event subscriben:
public function install()
{
...
$this->subscribeEvent('Enlight_Controller_Action_PostDispatch_Backend_Base', 'onPostDispatchBackendBase');
...
}
Im Callback dann eine Template-Datei laden:
public function onPostDispatchBackendBase(Enlight_Controller_EventArgs $args) {
$action = $args->getSubject();
$view = $action->View();
$this->Application()->Template()->addTemplateDir(
$this->Path() . 'Views/',
'',
Enlight_Template_Manager::POSITION_APPEND
);
$view->extendsTemplate('backend/my_order_states/order_status.js');
}
Die Template Datei mit dem Namen order_status.js legt ihr in den Ordner Views/backend/my_order_states im Ordner eures Plugins.
Der Inhalt der order_status.js lautet dann etwa so:
//{block name="backend/base/model/order_status/snippets"}
'offer_accepted': '{s name="offer_accepted"}Angebot angenommen{/s}',
'offer_sent': '{s name="offer_sent"}Angebot gesendet{/s}',
// {/block}
Natürlich mit euren eigenen States.
Ganz easy oder?!
Das gleiche funktioniert entsprechend für die payment_status.js
2 „Gefällt mir“
@MoonLightCode
Kannst Du kurz beschreiben wie man das Plugin erstellt? Bin Neuling …
Bei google finde ich folgendes HowTo:
Shopware 5.3 Plugin 101 | Einfaches Plugin erstellen – The Cake Shop
Plugin soll heißen: xinR_order_states
Ich habe jetzt im Ordner: customs/plugins einen Ordner: xinR_order_states erstellt.
Dort habe ich dann eine PHP-Datei: xinR_order_states.php erzeugt.
Muss ich jetzt:
public function install()
{
...
$this->subscribeEvent('Enlight_Controller_Action_PostDispatch_Backend_Base', 'onPostDispatchBackendBase');
...
}
dort einfügen?
Danke Moritz, die Anpassung hat prima geklappt (leider kommen nun aber die zwei roten Kreuze bei den Shopwaredateien - siehe Screenshot).
Wird die Angelegenheit generell mit dem nächsten Update gefixed oder sollen wir lieber in der Datenbank die Namenseinträge bezogen auf die Namen in den zwei Status-Originaldateien anpassen?
shyim
6. Oktober 2018 um 17:50
10
Das wird mit 5.5.2 behoben
Hallo.
Gibt es eine funktionierende Lösung?
Nach Update (5.4.6 auf 5.5.3) sind viele Bestell- und Zahlstatus leer.
Oben angesprochene Anpassung ist leider keine Lösung.
Danke.
1 „Gefällt mir“
@dertombln schrieb:
Hallo.
Gibt es eine funktionierende Lösung?
Nach Update (5.4.6 auf 5.5.3) sind viele Bestell- und Zahlstatus leer.
Oben angesprochene Anpassung ist leider keine Lösung.
Danke.
Leider auch hier das gleiche Problem bei den Systemeigenen Bestellstati „in_progress“. Der Text in der Auswahlbox ist einfach leer…
Hallo zusammen,
habe heute auch auf 5.5.4 geupdated und ebenso das Problem mit den Bestellstatus der Benutzerdefinierten Stati.
Funktioniert als Lösung eine der hier beschriebenen Ansätze?
Danke und Gruß
@Moritz Naczenski schrieb:
Das brauch man alles in 5.5.4 nicht mehr. Siehe: https://forum.shopware.com/discussion/comment/238968/#Comment_238968
Ich hatte das Problem mit der 5.5.4 immer noch.
Es hat wohl irgendwas mit den Feldern zu tun, die früher mal von einem gändert wurden.
Hier eine mögliche (provisorische ?) Lösung von mir:
https://forum.shopware.com/discussion/comment/238968