Probleme beim Erweitern von Backend-Componenten

Ich habe in meiner Entwicklungsumgebung aktuell das Problem, dass das Überschreiben von Backendkomponenten leider nicht den gewünschten Effekt bedingt. Ich habe daher zu Testzwecken mal folgende Beispielplugins installiert:

Nach der Aktivierung dieser wird weder die Produktübersicht um eine Spalte erweitert, noch im Bereich “Einstellungen” auf der Produktbearbeitungsseite ein neues Feld ausgegeben.

Die erzeugten JS-Dateien (bspw. bundles/administrationnewcolumn/static/js/AdministrationNewColumn.js) kann ich jedoch beim nächsten Seitenaufruf im Sources-Tab ausfindig machen. Ich habe diese auch mal testweise im Shopware-Public-Verzeichnis editiert und mit einem console.log versehen, was bestätigte, dass diese auch aufgerufen werden.

Ich habe außerdem versucht, den Administrationsbereich neu zu “bauen” und den Cache zu leeren.

bin/console cache: clear
./psh.phar administration:build

Dieses Problem trat mit plattform- und development-Repo auf master und 6.0-dp auf. Um eventuelle Fehler in meinem Container auszuschließen, habe ich vor dem Branchwechsel sämtliche Container und Images sicherheitshalber gelöscht. Der Erfolg blieb mir bisher jedoch verwehrt.

Über Hinweise und Vorschläge wäre ich wirklich dankbar.

Du hast die Seite sicherlich nach der Installation einmal komplett neu geladen (Also F5 im Browser)?

 

@Moritz Naczenski schrieb:

Du hast die Seite sicherlich nach der Installation einmal komplett neu geladen (Also F5 im Browser)?

Ja, ebenso erfolte der Test in einem anderen Browser. Die Registrierung eines eigenen Modul funktioniert im Übrigen problemlos.

Hi,

zum Erweitern der Spalten:

Kannst du einmal kontrollieren, ob im localStorage deines Browsers der Key „sw-product-list-grid-columns“ vorhanden ist?

Falls ja kannst du den einmal entfernen und nochmal neu laden. Aktuell werden die Einstellungen der Grids (z.B. Spalten ein oder ausblenden) im localStorage gespeichert. Wir evaluieren derzeit eine Lösung solche Einstellungen am Benutzer in der Datenbank zu speichern. 

 

Der Eintrag befand sich tatsächlich im Storage. Das Entfernen sowie das komplette Leeren des Storages im Anschluss brachte jedoch keine Änderung.

Ich habe daraufhin nochmal alles resetted und daraufhin ein etwas anderes Verhalten festgestellt, was ich nachfolgend mal versuchen möchte, zu beschreiben:

Ich habe nach Installation der Plugins das bundle-Folder mal geleert und den Build-Prozess nochmal angeschmissen.

Ich habe das Bundle-Beispiel-Plugin mal mit installiert, da dieses stets funktionierte. Ein Aufruf über den Browser zeigte dieses Mal, dass nur das Bundle-Plugin auch geladen wird (in einem meiner früheren Versuche wurde die administrationnewcolumn tatsächlich geladen, das Problem liesse sich in jenem Fall aber mit der beschriebenen Storage-Problematik erklären). Alle Beispiel-Plugins befinden sich auf den Stand des Masterbranches, lediglich die Shopware-Version in der composer.json musste ich anpassen, da ich aktuell die 6.0-dp verwende.

 

So, alles nochmal auf Anfang.

Habe jetzt die Bundle-Erweiterung mit der NewTab-Erweiterung abgeglichen, nochmal public/bundles geleert und alles neu “gebaut”. Wenn ich nun beispielsweise im NewTab-Plugin eine index.html.twig  in  src/Resources/views/administration/  anlege und in dieser analog zur Bundle-Erweiterung folgenden Block einfüge:

{% sw_extends 'administration/index.html.twig' %}

{% block administration_scripts %}
    {{ parent() }}
    
{% endblock %}

… dann funktioniert dies nun.

Hi,

ich erhalte leider folgenden Fehler beim Plugin shopware/swag-docs-new-tab

vue.esm.js?a026:628 [Vue warn]: Error in created hook: "RangeError: Maximum call stack size exceeded"

found in

---> at src/module/sw-product/page/sw-product-detail/index.js
       
         
           
warn @ vue.esm.js?a026:628
logError @ vue.esm.js?a026:1893
globalHandleError @ vue.esm.js?a026:1888
handleError @ vue.esm.js?a026:1848
invokeWithErrorHandling @ vue.esm.js?a026:1871
callHook @ vue.esm.js?a026:4222
Vue._init @ vue.esm.js?a026:5011
VueComponent @ vue.esm.js?a026:5157
createComponentInstanceForVnode @ vue.esm.js?a026:3292
init @ vue.esm.js?a026:3123
createComponent @ vue.esm.js?a026:5983
createElm @ vue.esm.js?a026:5930
createChildren @ vue.esm.js?a026:6058
createElm @ vue.esm.js?a026:5959
createChildren @ vue.esm.js?a026:6058
createElm @ vue.esm.js?a026:5959
patch @ vue.esm.js?a026:6482
Vue._update @ vue.esm.js?a026:3948
updateComponent @ vue.esm.js?a026:4063
get @ vue.esm.js?a026:4482
Watcher @ vue.esm.js?a026:4471
mountComponent @ vue.esm.js?a026:4076
Vue.$mount @ vue.esm.js?a026:9057
Vue.$mount @ vue.esm.js?a026:11953
init @ vue.esm.js?a026:3127
createComponent @ vue.esm.js?a026:5983
createElm @ vue.esm.js?a026:5930
createChildren @ vue.esm.js?a026:6058
createElm @ vue.esm.js?a026:5959
patch @ vue.esm.js?a026:6482
Vue._update @ vue.esm.js?a026:3948
updateComponent @ vue.esm.js?a026:4063
get @ vue.esm.js?a026:4482
Watcher @ vue.esm.js?a026:4471
mountComponent @ vue.esm.js?a026:4076
Vue.$mount @ vue.esm.js?a026:9057
Vue.$mount @ vue.esm.js?a026:11953
init @ vue.esm.js?a026:3127
createComponent @ vue.esm.js?a026:5983
createElm @ vue.esm.js?a026:5930
patch @ vue.esm.js?a026:6521
Vue._update @ vue.esm.js?a026:3948
updateComponent @ vue.esm.js?a026:4063
get @ vue.esm.js?a026:4482
Watcher @ vue.esm.js?a026:4471
mountComponent @ vue.esm.js?a026:4076
Vue.$mount @ vue.esm.js?a026:9057
Vue.$mount @ vue.esm.js?a026:11953
Vue._init @ vue.esm.js?a026:5021
Vue @ vue.esm.js?a026:5088
createInstance @ vue.adapter.js?2df0:4
(anonymous) @ application.js?b832:16
Promise.then (async)
createApplicationRoot @ application.js?b832:16
start @ application.js?b832:16
(anonymous) @ (index):12
Show 22 more frames
vue.esm.js?a026:1897 RangeError: Maximum call stack size exceeded
    at Set.has ()
    at Watcher.addDep (vue.esm.js?a026:4506)
    at Dep.depend (vue.esm.js?a026:725)
    at Object.reactiveGetter [as next741] (vue.esm.js?a026:1036)
    at VueComponent.proxyGetter [as next741] (vue.esm.js?a026:4631)
    at VueComponent.productCriteria (index.js?8e3b:19)
    at VueComponent.productCriteria (index.js?8e3b:20)
    at VueComponent.productCriteria (index.js?8e3b:20)
    at VueComponent.productCriteria (index.js?8e3b:20)
    at VueComponent.productCriteria (index.js?8e3b:20)

Der Tab wird mir angezeigt und ist auch funktional.
Allerdings erhalte ich den Fehler in der Detailansicht und die Produktdaten werden nicht geladen.

Woran kann das liegen?