@jenses:
Wie sieht dann dein Action-Call beim Formular aus?
z.B. index.php?id=20
Wie holst du dir dann nur die einzelnen Inhalte ohne den ganzen Überfluss?
@jenses:
Wie sieht dann dein Action-Call beim Formular aus?
z.B. index.php?id=20
Wie holst du dir dann nur die einzelnen Inhalte ohne den ganzen Überfluss?
seit wann werden denn Themen abgehackt ? 😃
Ich kann nur empfehlen, alle Methoden zu testen. Es gibt für jede pro und kontra.
Wichtig ist auch immer auf fallback zu achten, d.h. es muss auch ohne JS funktionieren.
Ich persönlich halte es wie jenses und preferiere extjs.
zum callback - das funktioniert mit extjs anders, da wird die Aktion einem Event zugeordnet.
steffenk schriebseit wann werden denn Themen abgehackt ? 😃
In der Schweiz geht das 😉 Schweizer Redewendung
steffenk schriebWichtig ist auch immer auf fallback zu achten, d.h. es muss auch ohne JS funktionieren.
In meinem Fall muss es nicht, da Javascript vorausgesetzt wird. Youtube macht das auch (nicht, dass es eine Referenz sein sollte). Aber Javascript ist Voraussetzung.
steffenk schriebzum callback - das funktioniert mit extjs anders, da wird die Aktion einem Event zugeordnet.
Das ist klar, unklar aber, wo hier die serverseitige Schnittstelle greift.
Mal angenommen beim Event "onClick" werden Daten in der Datenbank abgespeichert. Dann muss ich doch ein Ziel-URL angeben, der die nötigen Aktionen durchführt. Bei xajax funktioniert das irgendwie automatisch, bei eID macht man es selber. Oder sehe ich das völlig falsch? Wer klärt mich auf? 🙂
bei eID machst du alles selber, du kannst auch einfach mootools & co nehmen und damit die requests in Kombination mit eID machen.. so mach ich das zB 😉
georg
just2b schriebbei eID machst du alles selber, du kannst auch einfach mootools & co nehmen und damit die requests in Kombination mit eID machen.. so mach ich das zB 😉
Damit ich das jetzt ein für alle mal richtig verstanden habe... du löst das vom Ansatz her also wie hier in diesem Beispiel? http://www.sk-typo3.de/Ajax-mit-prototype-und-eID.328.0.html
Falls ja, dann bist du genug Referenz für mich, dass ich es auch so mache 🙂
Also ich finde es Schade das hier immer noch über eID gesprochen wird. Das hat ja nun wirklich gar nichts mit Ajax zu tun. Und ist auch kein Zeichen für Professionalität. Der einzige Vorteil denn ich von prototype kenne ist, das es Fenster mit Ein-und Ausblend Effekt kennt. Das kann man natürlich auch selber von Hand in xAjax nachtragen. Also lautet meine Empfehlung xAjax. Die anderen Libs kenne ich leider nicht.
Tetramatrix schriebAlso ich finde es Schade das hier immer noch über eID gesprochen wird. Das hat ja nun wirklich gar nichts mit Ajax zu tun.
Ich finde, eID und AJAX haben indirekt doch miteinander etwas zu tun. Ich brauche eID nicht, um mit Ajax zu arbeiten. eID bewirkt ja nur, dass nur das Nötigste ausgeführt wird, den Rest muss man selber holen.
Wenn ich nun mit AJAX einen bestimmten Inhaltsteil auf meiner Seite aktualisieren will, dann will ich sowenig Overhead wie möglich verursachen. Ich weiss nicht, ob xajax Overhead erzeugt, darum schweige ich lieber.
xajax inkludiert auch prototype, so viel ich weiss.
Nochmals: es ging/geht mir von Anfang an darum, die Unterschiede der beiden Lösungsansätzen zu erfahren.
Es geht mir hier in erster Linie darum einen Lerneffekt zu erzielen. eID ist absolut nicht notwendig für Ajax-Requests. Und was nicht notwendig ist sollte man auch nicht einbauen. Außerdem haben xAjax und prototype überhaupt nichts miteinander zu tun. xAjax lädt keine prototype-lib nach. Mir ist unerklärlich wie Du auf diesen Gedanken gekommen bist. Also mit Deinem Wissenstand würde ich Dir raten echt xAjax zu nehmen. Es läuft einfach super. Außerdem ist der Geschwindigkeitsgewinn von eID nur am Anfang wirksam (onload). Und das nur auf dem Server. Client-Seitig ist ja Ajax dafür da nur bestimmte Teil der Webseite nachzuladen und nicht weil es schöner ist, dass die Seite keinen Reload mehr hat. Wenn Du unbedingt Speed haben willst, kannst Du ja auch die JS-Libs noch packen. Das würde sich jedenfalls Client-Seitig auswirken. Zudem musst Du bedenken, dass Du mit eID noch ein weiteres Feature von Typo3 benutzt und Dich zusätzlich davon abhängig machst.
@zu den anderen Kollegen hier: Mir ist echt schleierhaft warum ihr eID und Ajax in einem Atemzug nennt. Das kann ja nur sowas wie Schleichwerbung sein. Zumal Ajax sowieso nur ein Buzzword für eine Technologie ist die es schon Jahre vorhergab (XHTML-Request). Wie soviele anderen Technologien die es schon Jahre auf anderen Plattformen gab und die erst jetzt Einzug in sogar namhafte Produkte finden (z.b. Code-Falting).
Tetramatrix schriebEs geht mir hier in erster Linie darum einen Lerneffekt zu erzielen. eID ist absolut nicht notwendig für Ajax-Requests. Und was nicht notwendig ist sollte man auch nicht einbauen. Außerdem haben xAjax und prototype überhaupt nichts miteinander zu tun. xAjax lädt keine prototype-lib nach. Mir ist unerklärlich wie Du auf diesen Gedanken gekommen bist. Also mit Deinem Wissenstand würde ich Dir raten echt xAjax zu nehmen. Es läuft einfach super.
Ok, sorry, mein Fehler oder besser gesagt ein Versehen. Hab die Extension "danp_feajax" angeschaut, die mit xajax arbeitet und dort wird "prototype" eingebunden.
Komisch: Obwohl eID nichts mit AJAX zu tun hat, wird sie in der Extension "danp_feajax" in Verbindnug mit xajax benutzt.
Nochmals: gehen wir von der Behauptung weg, dass eID unbedingt erforderlich ist, um AJAX-Anwendungen zu erstellen.
@Tetramatrix:
Wieso stellt Kaspar überhaupt das Konzept der eID vor, wenn xajax die Aufgabe ja bestens löst? Noch immer sind die Unterschiede nicht klar. Und ich spreche hier für einige Entwickler, dass viele gerne AJAX-Funktionalität einbauen möchten, aber in der Tat nicht wissen, wo ansetzen.
man sollte wissen, das Ajax bereits uralt ist - es erlebt im Moment einen richtigen Aufschwung, da alle im Zuge von Web 2.0 davon schwärmen.
@Tetramatrix - die Verbindung ist klar - Kaspar hat eID eingeführt, um einen "Ansprechpunkt" im TYPO3 Framework für HTTP-Requests zu haben. Er hat eID also in Verbindung mit Ajax und seinem legendären whiteboard "erfunden".
eID ist also eine gute Methode um TYPO33Seiten im HTTP-Request aufzurufen.
Xajax braucht das nicht, es definiert eigene Funktionen für den Request. Und mit Prototype hat xAjax nix am Hut.
Man kann auch alles ohne eID machen, aber die Klasse stellt schon die notwendigsten Typo3-Funktionen zur Verfügung.
extJS ist in meinen Augen ein zukunftsweisendes Framework und ist unbedingt ein Blick wert. Zumal es jetzt auch die TYPO3-Extension gibt. Als einfaches Demo habe ich die Extension skt_contenttabs ins TER gestellt.
Weil er nicht programmieren kann! :p Damals gab es eine große Debatte wegen Typo3 und Speed. Ich habe in den Newsgroups mehrmals daraufhingewiesen, dass die Programmierung der Bäume ziemlich langsam ist. Nun hat Kasper ja dieses Video mit eID und Ajax vorgestellt. Daraufhin haben wohl alle dieses Beispiel nachgebaut (ich auch). Jedenfalls war es ja ganz nett. Meiner Meinung nach wollte er uns aber eher die eID-Funktion zeigen und hatte leider kein besseres Beispiel als Ajax zur Hand. xAjax ist in meinen Augen der bessere Weg Ajax und Typo3 miteinander zu kombinieren.
Das ist aber eine gewagte Theorie, das kaspar nicht programmieren kann 😃
Ich hatte bei xAjax immer das Problem, das es schnell unübersichtlich wurde, aber das lag wohl eher an dem unstrukturierten Aufbau, da ich von dem Tutorial ausgegangen bin. Elmar macht es z.B. in eFaq viel geschickter.
eID hat einen Vorteil - im Gegensatz zu den xAjax-Aufrufen, wo immer das gesamte FE-Strukt geladen wird, kann man bei eID selber bestimmen, welche Objekte man braucht und kann dadurch einiges an Geschwindigkeit gewinnen.
xAjax hat den Vorteil, das es kinderleicht zu integrieren ist und man (fast) nichts beachten muss.
extJS finde ich so genial, weil es auch die ganzen Effekte von prototype/stript... integriert hat, eigene Dialogboxen und Fenster,Drag&Drop etc., also alles, was auch fürs Web sehr praktisch ist. Das Interface ist auch relativ bequem.
Es gibt auch welche, die das mit Dojo, Ruby oder sonstigen Frameworks machen, auf jeden Fall hat man bei solchen Frameworks einen riesen Baukasten zur Verfügung.
Schauts Euch doch mal live an: http://extjs.com/deploy/ext/docs/index.html
@steffenk: Du brauchst mir nicht nachzusprechen. Das habe ich doch schon gesagt. Der Trick besteht doch lediglich darin bei einem XHTML-Request den HTTP-Antwort-Header so zu schicken, dass die Seite veraltet ist und der Client daraufhin die Seite neu lädt. Die Seite muß natürlich no_cache sein. Das hat Kasper vermutlich nicht verstanden. Dieses funktioniert mit eID mit normalen Extensions und mit xAjax. Es besteht also kein Grund sich so aufzuregen.
da hast Du mich missverstanden, ich habe mich überhaupt nicht aufgeregt, das ist eine ganz normale Konversation 😉
@steffenk: Hast Du aber #giggle# .
Tetramatrix schriebWeil er nicht programmieren kann! :p
Für jemanden,
der sich für seine Extension ch_treeview mehr als großzügig bei Rupert Germann bzw. René Fritz bedient,
und das Ergebnis dann als eigene Arbeit ausgibt,
hängst du dich aber ganz schön weit aus dem Fenster.
Bei solchen Leuten komm mir nur das kalte Kotzen...
@jensens: Ich hoffe da bist Du nicht der einzige... :p
steffenk schriebextJS finde ich so genial, weil es auch die ganzen Effekte von prototype/stript... integriert hat, eigene Dialogboxen und Fenster,Drag&Drop etc., also alles, was auch fürs Web sehr praktisch ist. Das Interface ist auch relativ bequem.
In der Tat 🙂
Wenn ich das richtig gesehen habe, lädt deine Extension "skt_contenttabs" die Inhalte alle auf einmal. Vielmehr würde mich jetzt noch interessieren, wie du das lösen würdest, wenn z.B. beim Klicken des 2. Reiters der Inhalt des Content-Elements mit der ID 20 geladen wird. Oder wenn z.B. eine Manipulation des Inhaltes vorgenommen wird. Mein Problem ist, dass ich die server-seitige Schnittstelle nicht sehe, nachdem die ganze Seite schon mal geladen wurde und danach nachträglich irgendwelche Manipulationen von einzelnen Inhalten durchgeführt werden.
Es gibt auch welche, die das mit Dojo, Ruby oder sonstigen Frameworks machen, auf jeden Fall hat man bei solchen Frameworks einen riesen Baukasten zur Verfügung.
Schauts Euch doch mal live an: http://extjs.com/deploy/ext/docs/index.html
http://www.dowjonesindexes.com/
da siehst Du wie bei Tabclick die Elemente geladen werden (einfach mal JS-Code anschauen)
steffenk schriebhttp://www.dowjonesindexes.com/
da siehst Du wie bei Tabclick die Elemente geladen werden (einfach mal JS-Code anschauen)
Soweit habe ich alles verstanden. Entweder wird der Inhalt eines URLs mit der Methode "setUrl" geholt oder über den Updater, wo auch einen URL angeben kann.
Jetzt mal angenommen, ich würde im 2. Reiter den Inhalt des Content-Elements mit der ID 20 anzeigen wollen.
Würde der Aufruf in etwas so aussehen (alles Pseudo- bzw. Beispielcode)?
var tab2 = jtabs.addTab('jtabs-2', "Ajax Tab 2");
tab2.setUrl('index.php', 'eID=skt_contenttabs&cID=20', true);
In der entsprechenden Datei der Extension "skt_contenttabs" würde man dann die entsprechenden Anweisungen tätigen, die dann zur Ausgabe des Inhaltes führen.
Läuft nun der Hase so? Oder gibt es auch andere Lösungsansätze?