Sw-entity-listing Erweiterung fehlerhaft

Wenn man im Produktlisting Artikel auswählt, werden im Tabellen-Header Links zum löschen und zur Mehrfachauswahl angezeigt. An dieser Stelle möchte ich einen weiteren Link hinzufügen.

Das ist ja in der Komponente sw-data-grid. Dort kann ich die Template-Blöcke nicht erweitern, weil die Komponente von sw-entity-listing extended wird. Wenn ich diese aber erweitern will, bekomme ich auf allen Seiten, die die sw-entity-listing Komponente nutzen, immer einen Fehler:

An error was captured in current module: TypeError: n is undefined

Und das, obwohl in meiner Erweiterung noch gar nichts drin ist. Die bloße Erweiterung selber, erzeugt schon den Fehler:

main.js

import './component/sw-entity-listing';

component/sw-entity-listing/index.js

import template from './sw-data-grid.html.twig';

const { Component } = Shopware;

Component.override('sw-entity-listing', {
    template
});

component/sw-entity-listing/sw-data-grid.html.twig

{* leer *}

Ich kann in der sw-data-grid.html.twig den Block sw_data_grid_bulk_selected_actions_content erweitern, das ist kein Problem. Aber der Fehler ist numal da. In der Produktansicht unter Spezifikationen werden dann z.B. die Eigenschaften nicht mehr richtig angezeigt.

Kann jemand nachvollziehen, warum das so ist? Oder reproduzieren?

Ich habe ansonsten keine Plugins in der Shopware Installation.

SW v6.4.14.0

Niemand eine Idee? :face_with_diagonal_mouth:

Hallo @AlexGalax ,

auf Anhieb sehe ich keine Fehler. Wenn du den Fehler über die Browser Entwicklertools verfolgst, wo wird denn der Fehler genau erzeugt?

Wenn du deine Änderungen aber nur für das Produkt Listing benötigst, würde ich einen anderen Weg verfolgen. Und zwar würde ich das sw-product-list erweitern und da versuchen im Template im sw-entity-listing body den Slot bulk-additional zu extenden. Dieser sollte für weitere Bulk Actions zuständig sein.

vg

1 Like

Yay, danke für den Hinweis, so funktioniert das und ist schön sauber.

{% block sw_product_list_bulk_edit_modal %}

    {% parent %}

    <template #bulk-additional="{ selectionCount }">
        foobar
    </template>

{% endblock %}

Aber der Fehler ist trotzem kurios.