Custom Rule (Shopware 6.4.13)

Hi,

ich hatte in meinem Plugin eine custom Regel geschrieben und das hatte bis jzt problemolos funktioniert.

Als ich den Shop auf 6.4.13 aktualisiert habe, funktioniert es nicht mehr.

Ich habe mir die Dokumentation auf Git nochmal angeschaut, es wurde nicht aktualisiert.

Habe den Code geschaut und es gibt ein neues Attribut für addCondition, und das heißt „group.“
Das habe ich in meinem Code hinzugefügt und jzt sieht es so aus:

Shopware.Application.addServiceProviderDecorator('ruleConditionDataProviderService', (ruleConditionService) => {
    ruleConditionService.addCondition('limit_order', {
        component: 'limit-order',
        label: 'Auftragshöhe Limit',
        scopes: ['global'],
        group: 'general'
    });

    return ruleConditionService;
});

Aber damit geht es auch nicht.

index.js:

import template from './limit-order.html.twig';

Shopware.Component.extend('limit-order', 'sw-condition-base', {
    template,

    computed: {
        selectValues() {
            return [
                {
                    label: this.$tc('global.sw-condition.condition.yes'),
                    value: true
                },
                {
                    label: this.$tc('global.sw-condition.condition.no'),
                    value: false
                }
            ];
        },

        isOrderLimit: {
            get() {
                this.ensureValueExist();

                if (this.condition.value.isOrderLimit == null) {
                    this.condition.value.isOrderLimit = false;
                }
                return this.condition.value.isOrderLimit;
            },
            set(isOrderLimit) {
                this.ensureValueExist();
                this.condition.value = { ...this.condition.value, isOrderLimit };
            }
        }
    }
});

limit-order.html.twig:

{% block sw_condition_value_content %}
    <div class="sw-condition-payment-method sw-condition__condition-value">
        {% block sw_condition_payment_method_field %}
            <sw-single-select name="limit-order"
                              id="limit-order"
                              size="medium"
                              :options="selectValues"
                              v-model="isOrderLimit"
                              class="field--main">
            </sw-single-select>
        {% endblock %}
    </div>
{% endblock %}

Gibt es eine andere Änderung, die ich verpasst habe?

Danke im Voraus!

Kann dir zu dem Thema nicht viel sagen, aber empfehlen die Implementierung der Shopware-Standard-Regeln in GitHub anzusehen. Da solltest du mögliche Änderungen ableiten können.

Danke für die Antwort, @Max_Shop!

Das habe ich gemacht. Sehen gleich aus… Z.B.

Das einzige was mir auffällt in platform/condition-type-data-provider.decorator.js at d60cf205356282cc5a5227c088aeed078bcdd6e4 · shopware/platform · GitHub ist ein , nach dem group: ‚general‘, aber das Trailing comma kann eigentlich kein Unterschied ausmachen.

Per build-administration.sh bekommst du keine Notes oder Warnings?

Das einzige was mir auffällt in platform/condition-type-data-provider.decorator.js at d60cf205356282cc5a5227c088aeed078bcdd6e4 · shopware/platform · GitHub ist ein , nach dem group: ‚general‘, aber das Trailing comma kann eigentlich kein Unterschied ausmachen.

Wie Du selbst geschrieben hast, das machte kein Unteschied aus.

Per build-administration.sh bekommst du keine Notes oder Warnings?

Leider nein… Ich bekomme sogar diese Meldung:
Plugin "UserConfigurator": Injected successfully

@Milad was genau funktioniert denn nicht mehr? Wird die Regel im Admin nicht mehr angezeigt?

@abdullah Ja, genau!

Ich habe es nochmal Lokal auf einem alten Shop installiert und hat funktioniert. Aber das geht leider nicht in Shopware 6.4.13 und da brauche ich es.

@Milad, ich habe mal meine CustomRules unter Shopware 6.4.13.0 angeguckt. Meine werden weiterhin angezeigt. Ich habe aber die Administration neu gebaut. Ob die alte ZIP Datei meines Plugins funktionieren würde, müsste ich bei Gelegenheit mal testen.

Bei deinem Code sehe ich aber bis jetzt auch keine Fehler.

Treten denn in der Browser Console irgendwelche Fehler auf?