+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Teilergebnis an Browser senden?

  1. #1
    Neu an Board
    Registriert seit
    27.07.2006
    Beiträge
    74
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard Teilergebnis an Browser senden?

    Hallo,

    in meiner Komponente gibt es einen Task, der recht lang läuft, eine Liste von Einträgen wird abgearbeitet. Um einen Browser Timeout zu vermeiden und dem Anwender den Fortschritt zu zeigen, möchte ich gern einzelne Ergebniszeilen während der Verarbeitung an den Browser senden, so dass sich das Ergebnis dort nach und nach aufbaut.
    Ein "echo $ergebnis" funktioniert nicht, im Browser ist dann erst am Ende der gesamten Verarbeitung etwas zu sehen.
    Hat jemand einen Tipp für mich?

    Danke und Gruß,
    Rudolf

  2. #2
    Verbringt hier viel Zeit
    Registriert seit
    24.01.2006
    Beiträge
    594
    Bedankte sich
    108
    Erhielt 359 Danksagungen
    in 203 Beiträgen

    Standard

    Normalerweise löst man sowas per Ajax:

    Man teilt die Abarbeitung in Teilschritte auf und ruft dann die einzelnen Schritte von einer eigenen Seite per Ajax/Javascript auf. Dabei wird dann immer was zurück gegeben und dies kann dann als dein gewünschtes "Teilergebnis" ausgegeben werden.

  3. #3
    Neu an Board
    Registriert seit
    27.07.2006
    Beiträge
    74
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    Würde ungern die ganze Komponente umstricken, es sei denn jemand hat einen Codeschnipsel, ich wüsste nicht, wo ich ansetzen soll. Gibts nicht ein explizites "Flush", das erste Daten an den Browser sendet?

  4. #4
    Joomla Guru Avatar von elkuku
    Registriert seit
    14.06.2006
    Ort
    Guayaquil - Südamerika
    Beiträge
    1.689
    Bedankte sich
    74
    Erhielt 517 Danksagungen
    in 397 Beiträgen

    Standard

    Gibts nicht ein explizites "Flush", das erste Daten an den Browser sendet?
    Das ist ein Joomla! Problem.. Da die Ausgabe der Komponente ins Template 'hineingearbeitet' werden muss und J! vorher einen Buffer dafür aufmacht kannst Du nicht 'zwischendurch' schon den Buffer '''flushen'''

    Falls das zu theoretisch war - hier etwas Praxis

    Schreib mal *vor* Deine echo ausgaben ein
    PHP-Code:
    ob_end_clean(); 
    Dann kommt die Ausgabe Deiner Komponente "zuerst" - Das sieht allerdings ziemlich komisch aus

    Note: Um eine mögliche Notice zu vermieden kannst Du *danach* natürlich wieder ein
    PHP-Code:
    ob_start(); 
    schreiben.

    Wie Ben schon sagte: Ajax.. Code"schnippsel" dafür gibt's haufenweise im Netz

    hF
    Gruß,
    Nikolai
    Hilf mit: Deutsche Joomla! Dokumentation Help testing: EasyCreator Noch Fragen ? Forum.Joomla-Nafu.de

  5. #5
    Neu an Board
    Registriert seit
    27.07.2006
    Beiträge
    74
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    Vielen Dank, dann suche ich mir einen Schnipsel...falls natürlich jemand einen zufällig rumschnipseln hat, gern hier hinein ;-)

  6. #6
    Neu an Board
    Registriert seit
    27.07.2006
    Beiträge
    74
    Bedankte sich
    2
    1 Danksagung in 1 Beitrag

    Standard

    "Joomla und Ajax" geben mir leider Tonnen von Links, ein Tipp wär super.

  7. #7
    Verbringt hier viel Zeit
    Registriert seit
    24.01.2006
    Beiträge
    594
    Bedankte sich
    108
    Erhielt 359 Danksagungen
    in 203 Beiträgen

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein