Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 11. November 2011 18:24
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Plugin: AjaxTools
Das entwicklet sich langsam zu einer Schneeball-Ketten-Reaktion
Ausgehend von dem Plugin XajaxTools habe ich ein weiteres Plugin abgezweigt, das ohne Xajax auskommt. Wenig überraschend nennt es sich: AjaxTools
Das ist im Prinzip das gleiche, nur ohne Xajax. Tatsächlich macht es nichts weiter, als eine Ajax-Anfrage auszuführen und das Ergebnis einer selbstdefinierten Javascript Callback-Funktion zu übergeben. Wie diese Funktion aussieht bzw. was sie mit dem Ergebnis macht, ist Sache des Anwenders.
Fragen, Anregung, Kritik etc. können wir gerne hier sammeln.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#2 13. November 2011 22:15
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Wer es mal in Aktion sehen will:
http://www.weta-trimaran.de/
http://www.weta-trimaran.de/index.php?seite=bilder
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 13. November 2011 22:33
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Plugin: AjaxTools
Wer es mal in Aktion sehen will:
http://www.weta-trimaran.de/
http://www.weta-trimaran.de/index.php?seite=bilder
Im Moment kommt gerade eine weisse Seite.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#4 13. November 2011 22:36
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Hab da grad was hochgeladen. Vielleicht warst Du genau in dem Moment da? Also bei mir geht's.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#5 13. November 2011 22:45
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Plugin: AjaxTools
jetzt gehts wieder. Wird wohl damit zusammengehangen haben.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#6 14. November 2011 23:12
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: Plugin: AjaxTools
Arbeitest du wieder dran? - Einmal hab ich die Startseite gesehen, danach als ich den zweiten Link mit direkt zu den Bildern aufrufen wollte -> weiße Seite, auch wenn ich die Startseite aufrufen will.
Offline
#7 14. November 2011 23:42
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Hm, nö. Liegt vielleicht am RAM. Hab da noch eine Menge unnötige Module installiert. Muss ich mal ausmisten. Hab laut Googles Webmastertools manchmal auch einige Fehler, die ich selbst noch nicht nachvollziehen konnte. Speed muss ich auch noch optimieren. Also wenn's mal nicht geht, einfach nochmal probieren.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#8 14. November 2011 23:45
- piratos
- arbeitet mit CMS/ms
- Registriert: 12. August 2011
- Beiträge: 545
Re: Plugin: AjaxTools
Ajax über Jquery und Co oder Ajax via Xajax sind nicht gleich.
Man sollte die jeweiligen Vorteile kennen und dann für den jeweiligen Nutzen entscheiden was man nimmt und man kann beides kombinieren. Für Effekte ist allerdings Scriptaculous die bessere Variante in der Kombination.
Es gibt zur Zeit kein einziges Framework das die Kombination PHP und Ajax so hervorragend gelöst hat wie Xajax. Das Besondere bei PHP/Xajax ist ja, das nach Ablauf des Scriptes PHP erledigt ist, dennoch kann man unter Xajax normale PHP Funktionen danach aufrufen und ausführen.
Wenn man also wirklich komplizierte Dinge erledigen muss, dann schreibt man sich mit Jquery die Finger wund, mit Xajax ist Javascript eine Nebensache.
Offline
#9 14. November 2011 01:35
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Sicher, bei komlexeren Sachen kommt man mit solch einem Plugin nicht weit. Aber dafür ist es auch nicht gedacht, weil dazu die nötigen Mechanismen auf dem Server fehlen. Und die kann ich in einem einzigen Plugin nicht bieten. Egal ob da nun Xajax, jQuery oder weiß der Geier zum Einsatz kommen. Selbst das Plugin XajaxTools reizt Xajax nicht mal ansatzweise aus.
Und welches Framework nun das beste für irgendwelche Effekte ist ... ich glaube diese Diskussion ist so alt wie die Frameworks selbst
Die Vorteile von Xajax gegenüber einfachen Ajax-Anfragen bringen doch nur dann etwas, wenn man sie a) nutzen will und b) nutzen kann. Aber dazu muss man halt wissen was man da macht - also auch serverseitig die entsprechenden Scripte bereitstellen.
Man muss sich also mal "die Finger schmutzig machen"
Wer das kann und damit kein Problem hat, kann von mir aus einsetzen was und wie er will.
Das Plugin hier ist echt nur dafür gedacht, falls mal jemand völlig unabhängig von irgendwelchen Frameworks irgendeine banale Anfrage im Hintergrund an den Server senden will (ohne sich "die Finger schmutzig machen" zu müssen ).
Ajax allgemein funktioniert bei CMSms ja nur dann, wenn man den Parameter showtemplate=false mitsendet. Das bedeutet aber, dass das Modul welches man ansprechen will, im Inhalt stehen muss. Steht es irgendwo anders, muss man dem CMS sagen, dass es den Seiteninhalt mit der Ausgabe des Moduls ersetzen soll (weil ja kein Template sondern nur der Inhalt verarbeitet wird). D.h. man muss dem Modul im Link die ID cntnt01 geben. Das wiederum bedeutet aber, dass man Module nicht inline verlinken kann, ohne zu tricksen. Denn ohne inline und ohne Javascript (was ich persönlich aus Gründen, die ich jetzt nicht näher erklären will, immer mit berücksichtigen würde), ersetzt es den Inhalt - was z.B. insbesondere bei einem Kalender blöd wäre, der eigentlich nur an der Seite zum Durchblättern sein soll.
Führe ich einen normalen inline-Link eines Moduls einfach so mit einem Ajax-Request aus, erhalte ich als Ergebnis den Seiteninhalt. Nicht die Modulausgabe. Weil das Modul bzw. dessen Ausgabe ja eben nicht im Inhalt steht und das Template welches die Ausgabe enthalten würde ja nicht verarbeitet wird.
Dieses Problem habe ich bisher immer mit einer extra Javascript-Funktion lösen müssen, die eben die URL entsprechend abändert und die ID in cntnt01 ändert, damit es sowohl mit als auch ohne Javascript funktionert. Das ist aber eigentlich völliger Quatsch und vor allem unsauber. Weil, wenn man z.B. ein Modul ansprechen will, welches normalerweise inline verlinkt - also nicht die ID cntnt01 hat - dessen Ausgabe dann aber plötzlich alle Links mit cntnt01 ausgibt, was dann wiederum jeden weiteren Kuddelmuddel mit der Javascriptfunktion überflüssig und die komplette Fallback-Idee zunichte machen würde.
Ajax funktioniert also normalerweise nur dann, wenn ich dem CMS sage, ein Modul im Inhalt auszugeben, dessen Ausgabe normalerweise nicht im Inhalt steht, und ich auf Fallback-Lösungen verzichte. Außerdem wird dadurch auch noch jedesmal das Inhaltsobjekt und alles was dazugehört geladen. Das ist aber unnötig, denn ich will ja keine Inhalts-Seite mit irgendeiner wie auch immer gearteten Ausgabe haben, sondern nur die reine Modulaktion oder auch einfach nur ein Plugin. Sonst nichts. Und dazu möchte ich auch nicht die ID des Moduls oder irgendeine Core Datei manipulieren müssen (auch wenn Letzetres nur zwei Zeilen wären - ich mag solche Lösungen nicht). Außerdem möchte ich Einfluss auf die Art der Ausgabe haben (plain Text oder XML - ich weiß, das geht bestens mit Xajax, aber dass Xajax derzeit mit CMSms problemlos funktioniert, ist eher ein glücklicher Zufall auf den ich mich daher nicht unbedingt verlassen möchte).
Für solche Fälle ist dieses Plugin gedacht. Es soll nur eine Schnittstelle für etwas sein, was es bei CMSms in der Form (noch) nicht gibt. Also auch kein Xajax-Ersatz-Konkurrent oder so
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#10 14. November 2011 10:56
- piratos
- arbeitet mit CMS/ms
- Registriert: 12. August 2011
- Beiträge: 545
Re: Plugin: AjaxTools
Wie gesagt man muss entscheiden wie und mit was man Ajax einsetzt.
Das typische CMSMS Problem was die Module-Ausgaben mit Ajax betrifft ist mir bekannt.
Das kann man teils damit umgehen, wenn man sich Smarty Plugins schreibt die unabhängig vom Module selbst die Zugriffe ausführen.
Damit wären dann auch Dinge wie lazy loading obsolet.
Da sind eigentlich die Entwickler aufgefordert mal etwas zu machen.
Für mich ist völlig klar - ohne Ajax wird man auf Dauer keinen Blumenstrauß mehr gewinnen.
Und da es immer mehr Anforderungen gibt nach Browserextensions als Zugriffsmöglichkeit auf ein System und die laufen nur über Ajax, sollten die Entwickler da nicht noch weitere Jahre warten.
Offline
#11 14. November 2011 13:44
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Wie gesagt man muss entscheiden wie und mit was man Ajax einsetzt...
Richtig, aber darum soll es hier eigentlich eher weniger gehen.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#12 14. November 2011 15:11
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Habe gerade das Problem, dass das ganze in Opera leider nicht funktioniert.
Hab da irgendwas in der Javascript Funktion, was der Opera nicht mag.
Wer Opera nochmal als besten Browser betitelt, der mag mir doch bitte erklären was hieran falsch ist:
this.request.onreadystatechange = function() {
if(arguments[0].currentTarget.readyState == 4 && arguments[0].currentTarget.status == 200)
{
callBack(arguments[0].currentTarget.responseText);
delete ajax_tools.requests[arguments[0].currentTarget.id];
}
};
Das funktioniert soweit in allen Browsern (IE hab ich noch nicht alle Versionen durch) nur eben nicht im Opera, weil er mit arguments[0] an dieser Stelle nichts anfangen kann. Es scheint, als würde beim Opera nichts an die onreadystatechange-Funktion übergeben werden. Das ist ziemlich dämlich, weil ich dann nicht prüfen kann, wie der Request verlaufen ist. Wie kann man dem Abhilfe schaffen?
€:
Okay, das hier scheint zu funktionieren:
this.request.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200)
{
callBack(this.responseText);
delete ajax_tools.requests[this.id];
}
};
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#13 18. November 2011 01:41
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Wer es mal in Aktion sehen will:
http://www.weta-trimaran.de/
http://www.weta-trimaran.de/index.php?seite=bilder
Wenn man an die beiden URLs den Parameter js=1 dran hängt, kann man die "Lazy-Loading" Funktion der Version 0.3 in Aktion sehen. Das Plugin hängt dann per Javascript bei Folgeseiten automatisch den Parameter an den Link an, sodass das Nachladen von Inhalten per AJAX nur bei dem geschieht, der Javascript auch tatsächlich aktiviert hat. Wer kein Javascript hat, der sieht die Seite ganz normal.
Wenn man ohne Javascript aber mit js=1 auf die Seite gelangt, dann wird in einem Noscript-Bereich eine Meldung und ein Link zur Seite ohne den Parameter ausgegeben. Gleichzeitig ist da noch der Versuch einer Meta-Weiterleitung, aber da bin ich mir noch nicht sicher, ob das eine gute Idee ist.
Über Sinn und Unsinn des Nachladens auf der Seite kann man sich sicher streiten, aber ich will nur mal zeigen, was man damit alles machen kann und vor allem wie man eine Seite sowohl mit als auch ohne Javascript ohne Einschränkungen aufbauen kann.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#14 20. November 2011 01:55
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Plugin: AjaxTools
Hab grad die Version 0.3.1 veröffentlicht.
Man kann jetzt auch beim Lazy-Load mehrere Lazy-Load Aktionen in einer einzigen Anfrage zusammenfassen. Bsp.:
<head>
{ajax_tools init=true}
</head>
<body>
<div id="left">
{ajax_tools lazy_load="module" module="News" queue="left"}
{ajax_tools lazy_load="module" module="CGCalendar" queue="left"}
</div>
<div id="right">
{ajax_tools lazy_load="module" module="CGBlog" queue="right"}
{ajax_tools lazy_load="module" module="Gallery" queue="right"}
</div>
</body>
Somit hat man nicht 4 sondern nur 2 AJAX Anfragen.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
Seiten: 1