Ergebnis 1 bis 4 von 4

Thema: PictureCaptcha Reload-Link

  1. #1
    Contao-Nutzer Avatar von flom01
    Registriert seit
    16.08.2010.
    Ort
    Feldkirch
    Beiträge
    77

    Standard PictureCaptcha Reload-Link

    Hallo!

    Wie könnte ich am einfachsten einen Reload-Link für die PictureCaptcha Extension realisieren. D.h. ein Link der das Captcha neu lädt ohne jedoch die Seite neu zu laden.

    Danke!
    Beste Grüße

  2. #2
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    Standard

    Hi,
    einfach ist es nicht. Ich denke man muss dann AJAX benutzen.
    Wenn ich Zeit habe schaue ich.
    Warum? Verfällt die Captcha bevor man das Formular ausfühlt?

  3. #3
    Contao-Nutzer Avatar von flom01
    Registriert seit
    16.08.2010.
    Ort
    Feldkirch
    Beiträge
    77

    Standard

    Ja auf jedenfall über Ajax - ich dachte jemand hat das ganze schon auscodiert.

    Es geht vielmehr um die Userfreundlichkeit.. sollte der Code nicht lesbar sein, könnte der User einen neuen Laden ohne die Seite neu laden und evtl. auch alle Werte neu eingeben zu müssen.

  4. #4
    Contao-Nutzer
    Registriert seit
    11.08.2010.
    Beiträge
    113

    Standard PictureCaptcha Reload-Button ohne Ajax

    Wer einen Reload-Button möchte, kann folgendermaßen vorgehen (die Änderungen beziehen sich auf Contao_PictureCaptcha_10000009_17.zip im Extension Repository):

    1.
    aus html/cp.css den Eintrag .cpimage entfernen
    (das Captcha-Image wird nicht länger per css eingebunden)

    2.
    in templates/form_captchaimage.tpl hinzufügen:
    als Zeile 1:
    HTML-Code:
    <?php $GLOBALS['TL_JAVASCRIPT'][]='system/modules/PictureCaptcha/html/reload.js'; ?>
    dem Captcha-Bild jeweils eine id verpassen:
    Code:
    <img id="cpcaptcha" alt="captcha" src="system/modules/PictureCaptcha/html/captcha.gif" width="<?php echo $this->imgwidth ?>" height="<?php echo $this->imgheight ?>"  />
    und jeweils vor
    HTML-Code:
    <div class="clear"></div>
    einfügen:
    HTML-Code:
    <div id="reload">
    <img alt="Captcha erneut laden" src="system/modules/PictureCaptcha/html/reload.gif" border="0" />
    </div>
    3.
    ein geeignetes Icon als reload.gif ins Verzeichnis html des Moduls speichern

    4.
    folgenden Code als reload.js ins Verzeichnis html speichern:
    Code:
    window.addEvent('domready',function() {
      var reload = function () {
        $('cpcaptcha').src = 'system/modules/PictureCaptcha/captcha.php?pc=' + Math.random();
        return false;
      }
      $('cpreload').addEvent('click', reload);
      $('cpreload').fireEvent('click');
    });
    5.
    #cpreload in html/cp.css "stylen"

    Hab hier hoffentlich nichts vergessen. Bei mir funktioniert es so.

    Vielleicht kann ja der eine oder andere damit etwas anfangen.

    Ulrike


    P.S.
    Es geht auch per AJAX, ist aber m. E. unnötig kompliziert.


    P.P.S.
    Bitte auch an folgende Änderungen denken (wie an anderer Stelle in diesem Forum angegeben):
    in captcha.php:
    Code:
    // statt: $this->Session->set('imagecaptcha',$captchacode);
    $_SESSION['imagecaptcha'] = $captchacode;
    und
    Code:
    //statt: $this->Session->set('imagecaptcha',$result);
    $_SESSION['imagecaptcha']=$result;
    in PictureCaptcha.php // in function validate()
    Code:
    // statt: $arrCaptcha['sum'] = $this->Session->get('imagecaptcha');
    $arrCaptcha['sum']=$_SESSION['imagecaptcha'];
    und
    Code:
    //statt: $this->Session->set('imagecaptcha', '');
    $_SESSION['imagecaptcha']='';
    Geändert von Ulrike (19.11.2010 um 13:04 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Session Problem beim eingeloggtem Mitglied. PictureCaptcha
    Von bruc13 im Forum Entwickler-Fragen
    Antworten: 4
    Letzter Beitrag: 17.02.2011, 15:08
  2. Antworten: 5
    Letzter Beitrag: 18.11.2010, 18:59
  3. [PictureCaptcha] Welchen Font installieren ?
    Von BeamishBln im Forum Sonstige Erweiterungen
    Antworten: 1
    Letzter Beitrag: 18.11.2010, 11:58
  4. Flash loop ohne reload?
    Von jacques im Forum Allgemeine Inhaltselemente
    Antworten: 2
    Letzter Beitrag: 06.06.2010, 21:04
  5. $this->reload();
    Von walle im Forum Entwickler-Fragen
    Antworten: 11
    Letzter Beitrag: 14.08.2009, 12:18

Lesezeichen

Lesezeichen

Berechtigungen

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