Forum

Moderiert von:
Forum: Entwicklungs Support
Sie schreiben eine Antwort zum Thema: Sidebox + Ajax-Technik
Gehe zu: OpenPHPNuke - das Open Source CMS Forum Index


über den Beitrag: Auch anonyme Benutzer können in diesem Forum neue Themen eröffnen und Antworten schreiben.
Benutzername:
Nachrichtensymbol:
                                                                                                                       

more...


HTML : An
BBCode : An
 


Klicken Sie auf die Smilies, um diesen in Ihre Nachricht einzufügen:

Very Happy Very Happy Smile Smile Sad Sad Surprised Surprised
Confused Confused Cool Cool Laughing Laughing Mad Mad
Razz Razz Embaressed Embaressed Crying (very sad) Crying (very sad) Evil or Very Mad Evil or Very Mad
Rolling Eyes Rolling Eyes Wink Wink Another pint of beer Another pint of beer ToolTimes at work ToolTimes at work
I have an idea I have an idea

more... 
Einstellungen:









 
Sicherheits-Code
Sicherheits-Code
Neu laden

Thema im Überblick

Autor
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Sidebox + Ajax-Technik

Geschrieben: 08.01.2007 20:34

stefan schrieb am 08.01.2007 um 14:48:27 Uhr folgendes:

Mal 2 Anmerkungen


Nur her mit den Anmerkungen

stefan schrieb am 08.01.2007 um 14:48:27 Uhr folgendes:

1) Stand Rev. 111 hast du die classe in der master.php geholt.

Das ist nicht ganz so gut. Wenn jemand kein ajax hat / nutz wird dieses trotzdem geladen und braucht Speicher usw...


Da müsste man noch einen Schalter einbauen, der abfragt, ob Ajax zugelassen werden soll. (Fallback-Lösung ist schon integriert -> Siehe api/main.php in Search).

Habe ich aus Zeitgründen noch nicht implementiert.

stefan schrieb am 08.01.2007 um 14:48:27 Uhr folgendes:

Du Weisst das OPN auch von der shell z.b. geht und da brauch ich kein ajax


mit der Shell?
Du meinst die Programme links oder lynx?

stefan schrieb am 08.01.2007 um 14:48:27 Uhr folgendes:

2) Wie ist das mit den Form Daten wie willst du die über geben?

Also ich habe ein Formular mit jedemenge vari. diese müsten automatisch mit ajax auch zurückgegeben werden. Da fehlt ne Routine die die daten holt und mit ins senden setzt.


Das funktioniert hier mit JS. Da AJAX ja auch auf JS aufbaut.

Alle verfügbaren Daten im Formular werden in $opnConfig['opnajax']->add_formdata_js oder so ähnlich als JS-Code zur Abfrage der Daten als Request gebaut.

Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Sidebox + Ajax-Technik

Geschrieben: 08.01.2007 14:48

Mal 2 Anmerkungen

1) Stand Rev. 111 hast du die classe in der master.php geholt.

Das ist nicht ganz so gut. Wenn jemand kein ajax hat / nutz wird dieses trotzdem geladen und braucht Speicher usw...

Du Weisst das OPN auch von der shell z.b. geht und da brauch ich kein ajax

2) Wie ist das mit den Form Daten wie willst du die über geben?

Also ich habe ein Formular mit jedemenge vari. diese müsten automatisch mit ajax auch zurückgegeben werden. Da fehlt ne Routine die die daten holt und mit ins senden setzt.



Erst nachlesen, dann nachdenken, dann nachfragen...
http://www.catb.org/~esr/faqs/smart-questions.html

openPHPnuke Developer

Zitieren Druckerfreundliche Darstellung nach oben
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Sidebox + Ajax-Technik

Geschrieben: 07.01.2007 21:09

Mit Experimental Rev. 111 wurde die Ajax-Technik besser ausgefeilt.

Die Klasse class.ajax.php wurde in $opnConfig['opnajax'] integriert, um die Unterstützung von Ajax im ganzen OPN-System zu gewährleisten.

Das Modul "Search" bzw. "Suchen" unterstützt nun auch Ajax.

Was noch fehlt ist eine Überprüfung, ob der Browser Ajax unterstützt. Idee ist, das OPN einmalig einen Ajax-Test-JavaScript lädt und einen Cookie im Browser ablegt, ob JS und Ajax funktionieren. Eine Abfrage, ob Ajax aktiviert ist, wurde bereits im "Search"-Modul integriert. Zum Deaktivieren von Ajax einfach in der Datei index.php folgendes am Anfang einfügen: $opnConfig['opnajax']->DisableAjax(); . Schon läuft es auf dem gewohntem Wege.

Es können x-beliebige Funktionen für verschiedene Formulare und Module eingefügt werden. Die kommen sich nicht in die Quere.

Jetzt muss noch die Klasse class.opn_pagebar.php auch mit Ajax funktionieren, da muss das Zusammenspiel noch funktionieren. Eine Idee habe ich dazu auch schon.

Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Sidebox + Ajax-Technik

Geschrieben: 05.01.2007 22:25

So, habe den Ajax-Construct-Driver komplett herausgerissen und eine neue Klasse darauf aufgebaut. In der master.php wurde diese Klasse öffentlich in $opnConfig zugänglich gemacht. Die class.opn_output.php wurde diesbezüglich auch umgebaut.

Werde es aber erst nächste Woche im SVN veröffentlichen. Da muss ich noch eine Menge herumfeilen.

Was zum Beispiel funktioniert ist:
- Unter $opnConfig['opnajax'] wurde eine neue Klasse eingefügt class.ajax.php
- Es wird von der Klasse auf Ajax-Elemente zugegriffen.
- Verschiedene Module können auf die Ajax-Elemente zugreifen, ohne das sich die URIs überschneiden.

Noch geplant:
- Das "Search"-Modul wird komplett mit der AJAX-Klasse zusammen funktionieren.
- Die Klasse, die für das Formular zuständig ist, wird für AJAX vorbereitet.
- Fallback-Lösung, falls Ajax bzw. Javascript nicht aktiv ist.

Das driver_construct_ajax.php wird nicht mehr benötigt.

Man kann also gespannt sein.

Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Sidebox + Ajax-Technik

Geschrieben: 31.12.2006 00:30

Hallo!

Wollte mich nochmal wegen Ajax melden.

@Stefan:
Das Ajax-Construct-Driver, dass von dir geschrieben wurde, lässt sich das nicht als eigenständige Klasse "class.ajax.php" z.B. in $opnConfig['Ajax'] implementieren?

Und dann jeweils in den Modulen wie folgt:
$opnConfig['Ajax']->Enable_Ajax = true;
// URI zur Ajax-Klasse hinzufügen...
$opnConfig['Ajax']->add_URI = array('content1' => '/module/search/index.php');
// Request zur Ajax-Klasse hinzufügen...
$opnConfig['Ajax']->add_request = array('content1' => 'year=2007');
// Wenn der Request von einem Ajax-Script kommt, dann nachfolgend ausführen...
if($opnConfig['Ajax']->is_Ajax) {
// Inhalt vom Modul zurückgeben.
}


und in der Klasse class.opn_output.php würde ich folgenden Schalter einfügen, was eigentlich auch schon geschehen ist:
if($opnConfig['Ajax']->is_Enabled) {
echo $opnConfig['Ajax']->get_JS();
}


Eine nachträgliche Anpassung des driver_construct_ajax.php, um verschiedene URI der Klasse zu übergeben scheitert leider, weil die Werte nicht öffentlich (z.B. in $opnConfig) zugänglich ist. Daher wäre es mir lieb, wenn die Klasse in $opnConfig geladen wird. Nur weiß ich die Script-Reihenfolge in OPN nicht genau, was zu erst geladen wird und welches zum Schluß.

Und nicht über Umwege wie z.B. im Search-Modul:

$opnConfig['opnOutput']->SetDisplayVar ('function_ajax', array ('get_ajax') );


Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
bdragon
Registriert: 02.12.2001
Beiträge: 570
Wohnort: Kaarst


Sende eine Private Nachricht an bdragon
ICQ
Sidebox + Ajax-Technik

Geschrieben: 13.12.2006 15:07

Zu dem Thema auch ganz aktuell:

Google Web Toolkit

http://code.google.com/webtoolkit/

gruß



B.D.R.A.G.O.N.: Biomechanical Digital Replicant Assembled for Galactic Observation and Nullification

Offiziell infiziert!
OPN Infiziert

Zitieren Druckerfreundliche Darstellung nach oben
bdragon
Registriert: 02.12.2001
Beiträge: 570
Wohnort: Kaarst


Sende eine Private Nachricht an bdragon
ICQ
Sidebox + Ajax-Technik

Geschrieben: 10.12.2006 14:48

Wie wäre es mit der Suche?



Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Sidebox + Ajax-Technik

Geschrieben: 10.12.2006 09:55

ich denke das beste wäre jetzt das mal praktisch in ein modul einzubauen allerdings stellt sich da auch die frage in welches also bei welcher function so wie was ist wenn man kein js an hat? das sollte man berücksichtigen. sinvoll wäre sowas ja z.b. in den admin einstellungen wie sidebox


Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Sidebox + Ajax-Technik

Geschrieben: 09.12.2006 19:10

unter develop-demos hab ich mal ne demo dazu gebaut


Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Sidebox + Ajax-Technik

Geschrieben: 09.12.2006 19:04

du ich hab da auch schon was, ich habe entsprechende routien hinzugefügt bis auf die url codierung würde das gehen

und mit codierten urls rede ich nicht von HTML von der von durch opn codierten


Zitieren Druckerfreundliche Darstellung nach oben
3 Seiten ( 1 - 2 - 3 )