ich möchte ein Plugin entwickeln, dass auf der Artikeldetail Seite einen TinyMce-Editor darstellt.
So haben Kunden die Möglichkeit ihren eigenen Text zum Produkt zu hinterlegen, der dann gedruckt wird.
Leider kann das Plugin CustomProducts keinen Editor sondern nur Textareas.
Nun das Problem:
TinyMce bindet css-Files ein (default skin.min.css und content.min.css).
Da ich alle TinyMce-JavaScript Dateien über den Theme Compiler eingebunden habe,
befinden sich diese im falschen kontext /web/cache.
Sprich die JavaScript Dateien wollen nun die skin.min.css und content.min.css aus dem Context /web/cache/skin.min.css einbinden,
was aber nicht korrekt ist, da sich der Editor in engine/Library/TinyMce befindet.
Die einfachste Lösung wäre natürlich die TinyMce Dateien wie sonst gewohnt über ein script-tag ein zu binden, jedoch habe ich keinen
Weg und keine Lösung gefunden, wie das bei shopware gehen soll…
ich möchte ein Plugin entwickeln, dass auf der Artikeldetail Seite einen TinyMce-Editor darstellt.
So haben Kunden die Möglichkeit ihren eigenen Text zum Produkt zu hinterlegen, der dann gedruckt wird.
Leider kann das Plugin CustomProducts keinen Editor sondern nur Textareas.
Nun das Problem:
TinyMce bindet css-Files ein (default skin.min.css und content.min.css).
Da ich alle TinyMce-JavaScript Dateien über den Theme Compiler eingebunden habe,
befinden sich diese im falschen kontext /web/cache.
Sprich die JavaScript Dateien wollen nun die skin.min.css und content.min.css aus dem Context /web/cache/skin.min.css einbinden,
was aber nicht korrekt ist, da sich der Editor in engine/Library/TinyMce befindet.
Die einfachste Lösung wäre natürlich die TinyMce Dateien wie sonst gewohnt über ein script-tag ein zu binden, jedoch habe ich keinen
Weg und keine Lösung gefunden, wie das bei shopware gehen soll…
Danke für jede Hilfe!
Hallo,
warum legst du nicht einfach alle JavaScript- und CSS-Dateien innerhalb deines Plugins ab? Weitere Informationen dazu gibt es unter anderem hier: Example plugin - storefront extension (ein Beispiel zur Einbindung gibt es in der Bootstrap.php und im Text darunter).
Stecken geblieben bin ich hier die richtige url an die script-tags zu übergeben.
srcipt src="{link file="/frontend/_public/src/js/tinymce/tinymce.min.js}" funktioniert nicht, da diese url für themes vorgesehen ist, wenn ich das richtig verstanden habe.
Stecken geblieben bin ich hier die richtige url an die script-tags zu übergeben.
srcipt src=„{link file=“/frontend/_public/src/js/tinymce/tinymce.min.js}" funktioniert nicht, da diese url für themes vorgesehen ist, wenn ich das richtig verstanden habe.
Hallo,
wie erwähnt - man kann CSS- als auch JavaScript-Code automatisch im Plugin ablegen, ohne irgendwelche Links dazu nutzen oder es per < script > oder ähnliches einbinden zu müssen, siehe den Link (Example plugin - storefront extension), beispielsweise für eine CSS-Datei:
Hast du dir einmal Gedanken gemacht, wie das ganze mit dem TinyMCE auch responsiv dargestellt werden soll, beziehungsweise wie der Wert dann im Warenkorb etc. weiter bearbeitbar sein soll?
Wie machst du das, wenn ein Kunde den Artikel doppelt in den Warenkorb legt? Lässt du dann den hinterlegten Text in deinem Feld im Warenkorb überschreiben (da im Standard von Shopware ja der Artikel „aufaddiert“ wird) oder „splittest“ du den gleichen Artikel in mehrere Warenkorb-Position auf?
Ich würde mir über diese Sachen erst einmal Gedanken machen .
Nur das Problem, die tinymce.min.js möchte die css-Dateien einbinden.
Das gibt jedoch einen 404-Error, da sich die tinymce.min.js nicht mehr in
engine/plugins/local/frontend/NAME/Views/frontend/src/js/tinymce/tinymce.min.js befindet, sondern in web/cache/.
Damit der tinymce-Editor wie „gewohnt“ funktionieren kann, sprich seine benötigten Skripte selbst einbinden kann, muss ich das
Hauptscript einbinden, wie es für normale Webanwendungen gedacht ist. Nämlich ein script-tag