Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Problem bei verschachtelten Plugins mit javascript-Code

Begonnen von mhsob, 07. Oktober 2010, 17:35:44

« vorheriges - nächstes »

mhsob

Hallo!

Erstmal war ich überrascht, dass man auch ohne Probleme Plugins ineinander verschachteln kann - genial programmiert!

Nun bin ich aber auf ein Problem gestoßen: <script></script>-Bereiche werden ja in der Haupt-index.php erstmal ersetzt, da sie ja z.B. javascript-Code und somit {} enthalten könnten, die dann fälschlicherweise als Plugin-Aufruf interpretiert würden. Tiefer bin ich nicht eingestiegen... Dies führt aber bei der Verschachtelung zu einem Problem:
Bei dem Aufruf {plugin1|{plugin2|xyz}} könnte z.B. plugin1 ein Plugin zum Ein-/Ausblenden von Seitenteilen sein und Plugin2 eine Slimbox-Galerie, die eben auf Mausklick ein- oder ausgeblendet wird. Zum Ein-/Ausblenden ändert man mit javascript das css-"display"-Attribut und Slimbox includiert auch javascripts für seine Funktionalität. Nun passiert es, dass im erzeugten HTML-Quellcode die includes von plugin2 einwandfrei enthalten sind, das erste include von plugin1 aber durch den Inhalt des ersten Includes von plugin2 ersetzt wird, etc. Es funktioniert also in diesem Fall die Rück-Ersetzung nicht.

Vielleicht ist das Problem so speziell, dass der Rat einfach "Lass es sein..." oder der Kommentar "Was issn das für ein Unsinn?" ist.
Als Workaround hab ich jetzt vor {plugin1|{plugin2|xyz}} ein {plugin1|init} eingefügt, welches die nötigen javascripts zurückgibt, damit es im eigentlichen Plugin-Aufruf keine <script>-Bereiche mehr gibt. Nachteil ist, dass es bei der eigentlichen Plugin-Rückgabe des "äußeren" Plugins keine alternativen <script> und <noscript>-Bereiche mehr geben kann.

Vielleicht gibt's eine andere Lösung, vielleicht ist's einfach nur eine Feststellung und die Weitergabe der Erfahrung an die Mozilo-Entwickler. Das mit der Plugin-Schnittstelle ist auf alle Fälle einfach und total genial gelöst!

Grüße
Manfred

stefanbe

#1
ist mir auch schon aufgefallen ist ein bug

gruss stefanbe