Moin @hoppler !
Ich habe mir gerade eine komplett frische Installation aufgesetzt und kann das Verhalten nach Installieren deines Plugins weiterhin nicht nachstellen.
Da muss irgendetwas in deinem System defekt sein.
Du kannst mal folgende Dinge überprüfen, in diesem Fall mein Beispiel unter Benutzung von Google Chrome :
- Rufe bitte zunächst deinen eigenen Plugin Controller “MeinController” auf, führe nichts weiter aus!
- Öffne die Browser Entwickler-Konsole (F12)
- Öffne den “Network” Tab - wichtig: Da müsste eine Leiste sein, in der so Dinge stehen wie “All, XHR, JS, CSS, Img” - wähle dort unbedingt “All” aus
- Halte nun den Refresh-Button im Browser (um die Seite zu aktualisieren) gedrückt und wähle die unterste Option "Cache leeren und vollständig aktualliseren
- Sobald deine Seite neu aufgebaut wurde, müsste sich die Liste in dem Netzwerk-Tab auf der linken Seite füllen - wähle da bitte den Eintrag “MeinController” aus, also entsprechend deinem Controller-Namen
- Rechts müssten nun ein paar Daten zu dem “MeinController”-Request und zur Antwort des Servers befinden - wähle hier bitte den Tab “Cookies”
- Findest du unter den Cookies einen Eintrag, der in Etwa so heißt: __csrf_token-x ? Das ‘x’ kann dabei eine beliebige Zahl sein, entspricht der ID deines Shops
Wenn Nein: Das ist ein Problem. Aus irgendeinem Grund bekommst du den CSRF-Cookie nicht gesetzt. Da müsste man dann in deinem System nach dem Problem suchen, jedenfalls wäre das kein Problem deines Plugins.
Wenn Ja:
8. Drücke nun Strg + Shift + C - nun solltest du mit deiner Maus Elemente auswählen können, die dann hervorgehoben werden.
9. Bewege deine Maus rechts neben deinen “Rechnen” Button - damit solltest du einen großen Bereich, nämlich dein Formular, auswählen - CLICK
10. Du dürftest in der Entwickler-Konsole nun in dem Tab “Elements” sein und dein HTML Formular dürfte ausgewählt sein.
11. Findest du in deinem Formular ein neues Input Element? Dieses hat den Type hidden und als Namen __csrf_token - ist dem so? Ist das Value des Elements gefüllt?
Wenn Nein:
Aus irgendeinem Grund funktioniert das Javascript ist deinem System nicht, welches dafür zuständig ist die HTML Formulare automatisch mit einem CSRF-Token zu füllen.
Da müsste man nun auch im Detail im System nachschauen, liegt aber auch nicht an deinem Plugin.
Wenn Ja:
Puh, dann ist erstmal alles soweit richtig und gegeben.
In diesem Fall würde ich ein anderes Plugin als Ursache sehen, ist aber auch nicht sicher.
Zusammenfassend: Das hängt zu 99% nicht an deinem Plugin, sondern eher am System.
Da würden mir dann aber auch allmählich die Ideen ausgehen - auf einem sauberen neuen System läuft dein Plugin einwandfrei.
Ich hoffe du kannst mit dieser “Anleitung” etwas anfangen.
Da ich nicht weiß, wie technisch bewandt du bist, habe ich versucht sie so Einsteiger-freundlich wie nur irgendwie möglich zu schreiben.
Gruß,
Patrick