MyBB.de Forum

Normale Version: [Tutorial] Einbau eines Counters bei der Registrierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

hier möchte ich euch ein sehr einfaches und kleines Tutorial vorstellen, welches auf den Button Ich stimme zu (I Agree) bei der Registrierung neuer Mitglieder einen Counter legt, welchen man abwarten muss, bevor man weiter klicken kann.
Somit soll potientiellen Mitgliedern die Chance gegeben werden Zeit zum Durchlesen der Registrierungsbestimmungen zu geben. Wink

Zeitdauer: 1 Minunte
Schwierigkeit: Sehr einfach

Schritt 1 - An diese Stelle begeben:

AdminCP > Templates & Styles > Templates > Template welches geändert werden soll > Mitglieder > member_register_agreement

Schritt 2 - Suchen und Ersetzen:

Suchen nach:

PHP-Code:
<input type="submit" class="button" name="agree" value="{$lang->i_agree}/> 

Ersetzen durch:

PHP-Code:
<script type="text/javascript">
<!--
var 
i=15;
function 
setDL(){
document.forms[0].agree.disabled=false;
document.forms[0].agree.value="{$lang->i_agree}";
}
function 
countdown(){
i=i-1;
document.forms[0].agree.value="{$lang->i_agree} in "+i;
if(
i==0){
setDL();
clearInterval(thecount);
}
}
thecount=setInterval("countdown()",1000);
window.onload=countdown;
document.write('<input type="submit" class="button" name="agree" value="{$lang->i_agree}" disabled="disabled" />');
//-->
</script>
<
noscript><input type="submit" class="button" name="agree" value="{$lang->i_agree}/></noscript

Schritt 3 - Abspeichern und freuen!

(Schritt 4 - Anpassen: )

Die Zeitdauer in Sekunden bis der Button klickbar wird, regelt var i=15;

Die Beschriftung des Counter-Buttons regelt document.forms[0].agree.value="{$lang->i_agree} in "+i; wobei i die Restdauer in Sekunden darstellt.

Die Quelle für dieses JavaScript habe ich von hier: http://www.codingforums.com/showpost.php...ostcount=6

Ich hoffe das Tutorial ist nützlich für den ein oder anderen. Smile

gruß querschlaeger

P.S.: Anscheinend kann es zu Problemen kommen, wenn der Code direkt von hier in den Template-Editor kopiert wird. Benutzt daher bitte als "Zwischenlager" beim Kopieren einen Reintexteditor.
Achso: Natürlich erscheint der Counter nur mit aktivierten JavaScript. Falls der Besucher kein JS aktiviert hat, gibt nen Fallback zu den "normalen" Button.
Ich bin der Meinung, dass es auch einfacher geht. Hier im Forum wird ja auch ein Counter benutzt. Den habe ich selber gemacht. Da braucht man kein document.forms[0].agree und kein noscript. Toungue
Dann könntest du ja da vielleicht den Code offenlegen, ansonsten ist dein Beitrag hier alles andere als hilfreich Wink

@querschlaeger: Schön gemacht soweit.