Zum Inhalt springen

Extension mit AJAX: eID und/oder xajax?

Erstellt am 23. Juli 2007 · 32 Antworten · letzte Antwort am 24. Juli 2007 · Seite 2 von 2

Tags: JavaScript & AJAX, Frage

Stoneage ·

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.

steffenk ·

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

Stoneage ·

@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.

steffenk ·

da hast Du mich missverstanden, ich habe mich überhaupt nicht aufgeregt, das ist eine ganz normale Konversation 😉

jenses ·
Tetramatrix schrieb

Weil 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...

Unbekannter Benutzer ·
steffenk schrieb

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.

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

Unbekannter Benutzer ·
steffenk schrieb

http://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?

Unbekannter Benutzer ·
steffenk schrieb

ja genau so könnte man das machen 😉

Du hast wirklich fundierte Erfahrungen. Welchen Lösungsansatz siehst du noch? 😉

Ich weiss, ich bin hartnäckig #angry#

steffenk ·

naja, Ajax ist Ajax - man muss halt eine Url aufrufen, daher eignet sich eID.
Oder man baut das ganze mit xAjax auf, auch hier gibts gute Beispiele.
Schau Dir da z.B. die Ext danp_feajax an.