Im Tutorial, das sehr zu wünschen übrig lässt, wird beschrieben wie man eine Action mit Dialog-Popup erstellt. Ich benötige aber keine Einstellungen.
Wie kann ich eine FlowAction ohne Dialog erstellen? Wenn ich den Teil mit dem Dialog aus dem Tutorial weg lasse, dann übernimmt es die ausgewählte Action nicht. Fehler gibt es auch keine aus, daher stehe ich gerade auf dem Schlauch.
Es hatte auch schon mal funktioniert, aber Shopware ist ja ständig noch dabei am FlowBuilder rumzufummeln…
Stimmt jetzt z.B. Component.register oder Component.override? Mal steht das eine, mal das andere drin. Ich kann mir nicht vorstellen, dass register stimmt, denn sw-flow-sequence-action gibt es in SW ja bereits, oder nicht?
Ok, bin einen Schritt weiter. Wenn ich Shopware.Component.override() verwende (und den Cache leere…), dann funktioniert meine Aktion - aber die von SW nicht mehr.
Wenn ich Shopware.Component.require() verwende, ist es umgekehrt, weil er ein Custom Element vermisst, das den Namen meiner Action enthält. Aber ich will/brauche ja gar kein Modal Dialog, also auch kein Template.
// <plugin root>/src/Resources/app/administration/src/extension/sw-flow-sequence-action/index.js
const { Component } = Shopware;
// hier hab ich OVERRIDE statt REGISTER verwendet
Component.override('sw-flow-sequence-action', {
methods: {
openDynamicModal(value) {
if (!value) {
return;
}
const actionName = this.flowBuilderService.getActionName('ADD_TAG')
if (value === actionName) {
this.selectedAction = actionName;
this.onSaveActionSuccess({ config:{} });
return;
}
// hier hab ich das ELSE eingefügt, um an die Originalmethode durch zu reichen, denn sonst passiert nix mehr
else {
return this.$super('openDynamicModal', value);
}
},
},
});
So ganz glücklich bin ich damit nicht, aber wenigstens funktioniert es im Gegensatz zum Code in der Doku.