seit dem oben erwähnten Update funktioniert eines meiner PlugIns nicht mehr.
Der Support dieses PlugIns schreibt mir (auszugsweise)…
… ist an keiner Stelle ihres Shops die Base Url des Shops nicht abgreifbar, auch ausserhalb des Plugins nicht, was so eigentlich nie vorkommen darf.
Das darf so nie passieren und ich kann leider auf die Schnelle nicht sagen, ob das Problem durch ein anderes Plugin verursacht wird oder durch einen Fehler beim Shopupdate.
Kann jemand etwas zu dieser „Base URL“ sagen, warum sie nicht greifbar ist bzw. welche Lösungsmöglichkeiten es gibt? Ich selbst bin kein Programmierer.
Ich habe bewusst darauf verzichtet, das PlugIn zu nennen. Ich erhalte keine Fehlermeldungen, sondern das PlugIn funktioniert schlicht und ergreifend nicht. Jedenfalls nicht vollumfänglich.
Der Support-Mitarbeiter des Entwicklers begründet die Fehlfunktion mit dem im Zitat enthaltenen Text und erklärt das Problem damit als gelöst.
Vermeintlich gelöst ist das Problem damit für den Hersteller des PlugIns, der mir damit gleichzeitig den im PlugIn-Preis enthaltenen Support in dieser Sache kündigt und mir berechneten Support in Zeit-Kontingenten anbietet, die meinen Quartals-Umsätzen entsprechen. Für mich wäre es gelöst, wenn das PlugIn wie vor dem Update funktionieren würde.
Ich möchte die Aussage des Mitarbeiters besser verstehen können und hatte mir erhofft, dass ich - zunächst allgemein - zu den in der Begründung enthaltenen Argumenten hier Hilfe bekommen könnte. Leider ergab eine Google-Recherche keinerlei Hinweise, die mir weitergeholfen hätten.
Ich bin kein Programmierer und habe zu der zitierten Begründung nur Fragezeichen wie…
• Was ist eine „Base URL“ und wie unterscheidet sie sich von einer „normalen“ URL - z.B. der des Shops?
• Wodurch wird die „Base URL“ erzeugt, bestimmt oder bereitgestellt?
• An wie vielen und welchen möglichen Stellen lässt sich diese „Base URL“ in Shopware 5 „abgreifen“?
• Wenn das offenbar an mehreren Stellen „abgreifbar“ ist: sind das 3, 30 oder 300?
• Wie kann die Verknüpfung zu dieser „Base URL“ durch ein Update verloren gehen, wenn der Shop selbst ansonsten einwandfrei funktioniert?
Wenn die Fragen ohne Kenntnis des PlugIns nicht zu beantworten sind, ist es schade und ich muss mir überlegen, wie ich damit umgehe.
Bei Shopware wird die jeweilige BaseURL über eine interne Funktion ermittelt.
Die BaseURL ist einfach gesagt ein eventuelles Unterverzeichnis (/testordner/) oder Sprache (/de/) oder (/en/). Die komplette URL wird dann aus Hauptdomain + Base URL zusammengesetzt.
Bedeutet, wird dein Shop in einem Unterverzeichnis /testordner/ betrieben, dann ist /testordner/ die Base URL und die komplette URL zum Shop in etwa so: www.domain.de/testordner/
Die komplette URL deines Shops wird also durch deine Grundeinstellungen selber bestimmt. Je nach dem ob du einen Sprachshop oder Subshop benutzt, kann sich diese Base URL ändern. Die Base URL geht auch nicht irgendwo verloren, sie ist immer da und in allen Plugins auch abrufbar.
Die Plugin-Hersteller sollten schon wissen was gemeint ist. Jedenfalls verstehe ich als Programmier das unter Base URL. Es sei denn, der Plugin-Hersteller meint etwas völlig anderes. Aber das ist aus dem merkwürdigen Zitat nicht erkennbar.
ich danke dir sehr für diese Erläuterung aus deiner Sicht als Programmierer.
Das hilft mir sehr, denn zumindest genau diese - auch für mich als Laie - merkwürdige Begründung lässt mich die Kompetenz des entsprechenden Mitarbeiters aus dem PlugIn-Support zumindest einmal in Frage stellen. Das ist auch der Grund, warum ich zum PlugIn keine Details nennen wollte. Ich möchte vermeiden, dass es dadurch vielleicht zu Missverständnissen oder Unmut beim Entwickler kommen könnte.
Ich kann das alles nicht einschätzen. Deine Erläuterungen ergeben für mich jedoch Sinn und ich kann mir ebensowenig vorstellen, warum das nicht „abgreifbar“ sein soll. Würde in dieser URL-Struktur irgendetwas wirklich defekt sein, dürfte vermutlich der gesamte Shop oder mindestens Teile daraus nicht erreichbar sein. Ich betreibe den Shop tatsächlich zweisprachig (DE/EN).
Ich habe mir gerade die komplette Begründung des Mitarbeiters noch einmal durchgelesen. Im Prinzip stimmt seine Definition der „Base URL“ genau mit deiner überein.
Shop Base Url: www.beispielshop.de → Diese holt sich das Plugin aus der Shop Konfiguration
Insofern ist die Begründung einmal mehr unverständlich, erst recht für mich als Laie in diesen Zusammenhängen.
Anyway, nochmals vielen Dank. Ich weiß deine Antworten sehr zu schätzen. Zumal ich erstaunt bin, überhaupt eine Antwort erhalten zu haben, denn ich hatte bereits zuvor hier Fragen gestellt, auf die nie eine Reaktion erfolgte.
Etwas, das ich aus Foren, in denen ich sonst unterwegs bin und über einige Jahre auch als Moderator war, nicht kenne.
Ich werde mal schauen, wie ich in der Sache vorankomme. Ich habe mir von meinem Hoster einen Shop-Klone anlegen lassen und habe dort hoffentlich dann einen „Spielplatz“ und Dinge ausprobieren zu können. Momentan kenne ich den Zugang noch nicht.
Ich werde in jedem Fall über den Fortschritt berichten, so es denn hoffentlich irgendwann einen gibt.
Deswegen ist es wichtig, die konkreten Fehler zu kennen um auch gezielte Hilfe anbieten zu können. Vielleicht gibt es auch irgendwo Missverständnisse. Aber das alles kann ich nicht einschätzen.
Ich vermute mal die Aussage bezieht sich letztendlich auf die DB Tabelle s_core_shops, Spalten base_path und base_url. Ich glaube bei neueren Shops sind die nur noch für Subshops gesetzt, denn auch bei uns sind beide Werte im Hauptshop NULL und wir haben keine Probleme (SW 5.6.10)
Vielen Dank, @phil! Ich habe heute auf Anfrage eine ausführliche Erläuterung der Problematik vom PlugIn-Entwickler erhalten. Damit muss ich mich jedoch nächste Woche beschäftigen, da ich ein paar Tage im Urlaub bin. Wenn möglich, werde ich das Ergebnis in Auszügen hier noch einmal posten.
Ja in den meisten Fällen trifft das wohl zu. Aber sobald Sprachshops ins Spiel kommen, oder Shops die in einem Unterverzeichnis laufen, werden hier Einträge gemacht. Das tut aber alles nichts zur Sache, weil diese Einträge über schon existierende Funktionen auslesbar sind. Und jeder der ein Plugin programmiert, kann darauf zurückgreifen - sofern die Funktion bekannt ist. Ich kenne auch keinen Fall, wo diese Funktionalität durch ein anderes Plugin beeinträchtigt wurde.
Das Update wurde als Sicherheitsupdate von Shopware empfohlen. Wie geht ihr damit um? Lasst ihr das „links liegen“ und klickt jeden Tag die Meldung weg?
noch einmal vielen Dank für eure Antworten. Ich habe mir das vom Entwickler des PlugIns noch einmal im Detail erläutern lassen. Nachfolgend Auszüge aus der Erklärung, warum das nicht funktioniert bzw. die Base URL nicht auszulesen ist.
Die Basis URL des Shops ist ein Element, welches in den Einstellungen des Shops gesetzt wird. Diese ist auch bei Ihnen korrekt gesetzt, denn sonst würde der Shop nicht richtig funktionieren. Backend Einstellungen kann man direkt im Code abrufen und verwenden. Dabei muss man aber darauf achten, welche Einstellung wo nutzbar ist.
Einerseits haben wir Einstellungen von Plugins, diese sind nur innerhalb des Codes vom Plugin nutzbar. Von anderen Stellen aus (Andere Plugins, Shopware Core) sind diese Einstellungen nicht auslesbar. Auf der anderen Seite gibt es globale Backend Einstellungen (Artikel-, Kategorien-, Shopeinstellungen). Diese sind an jeder Stelle des Codes einlesbar und nutzbar.
Welches Problem besteht hier: Das Plugin liest die Einstellung der Basis URL aus den Einstellungen aus und will daraus den Downloadlink zusammenbauen. Allerdings ist diese URL nach dem Auslesen leer. Daraufhin wurde getestet, ob das Auslesen der Einstellung nur innerhalb unseres Plugins nicht funktioniert oder überall. Dabei testet man das Auslesen in anderen Plugins und innerhalb des Shopware Cores. Innerhalb des Cores funktioniert das Auslesen der Einstellung, was nicht verwunderlich ist, da sonst nichts aus dem Backend ins Frontend gelangen könnte. Allerdings sind die Backend Einstellungen aus keiner Plug Ininstanz heraus abrufbar. Dieses Fehlverhalten wird an anderen Stellen nicht zu bemerken sein, da Sie sehr wenige Plugins verwenden.
Auch in Ihrem Fall wurde das Support Protokoll von unserer Seite eingehalten und bis zum Ende umgesetzt. In der Regel wäre nun der richtige Weg sich an den Entwickler des Shops zu wenden und dort zu erfragen, warum eben obiger Fehler auftritt.
Der Support des PlugIn Herstellers hat mir nun allerdings freundlicherweise mit einem Workaround geholfen, der das Problem irgendwie umgeht, jedoch nicht beseitigt. Damit funktioniert es nun erst einmal, ich muss mal schauen, wie ich mittelfristig weiterkomme.