wir wollen gerade ein Plugin erstellen um div. informationen aus der DB auszulesen und im Frontend wieder auszugeben.
Leider klappt das nicht so ganz, wie wir uns das vorstellen.
Status ist mittlerweile so:
Sobald wir das Plugin aktivieren, bleibt der Shop beim aufruf weiss.
Nun eine Frage:
Gibt es eine Möglichkeit, das Plugin auf Fehler zu debuggen?
oder eine Art Testtool?
Gibt es gute Tuts, welche man anwenden kann?
Leider funkioniert das gewünschte Auslesen der Daten nicht.
Wir versuchen die Lànder aus der DB auszulesen und grundsätzlich mal per dump() auszugeben.
Die Route funktioniert und kann per console debug:route aufgelöst werden.
Ich vermute, dass hier das Problem liegt, denn die „einfachen“ Anführungszeichen treten innerhalb der einfachen Anführungszeichen noch einmal auf, ich würde stattdessen probieren:
Ich kenne deine Anforderung nicht.
Die URL sollte ganz normal über ein JS mit einem HTTP Client angesprochen werden.
Möchtest du die Länder im Template auf einer Seite ausgeben, so sollte ein Subscriber die Lösung sein. Im Subscriber kannst du die Länder laden und der Page z. B. als Extension zuweisen.
// import
import PluginManager from 'src/plugin-system/plugin.manager';
import FsTopbar from './plugin/fs/fstopbar/fs-topbar.plugin';
// register plugin
PluginManager.register(
'FsTopbar',
FsTopbar,
'body'
);
fs-topbar.plugin.js
// import
import Plugin from 'src/plugin-system/plugin.class';
import HttpClient from 'src/service/http-client.service';
export default class FsTopbar extends Plugin {
// plugin configuration
static options = {
addVarsUrl: ''
};
// on init
init() {
// get this
const me = this;
// set urls
this.options.addVarsUrl = window.router['widgets.fs.fstopbar.addVars'];
// create http client
this._httpClient = new HttpClient(window.accessKey, window.contextToken);
// stop current http client
this._httpClient.abort();
// ...
this._httpClient.get(this.options.addVarsUrl, '');
}
}
das sind die beiden JS …
Grundsätzlich will ich erstmal den Grundstep verstehen mit Daten auslesen und ins Twig einbinden.
Final soll in der Topbar ein Dropdown eingebunden werden, wo Lieferland, Sprache und Währung eingestellt werden kann.