Anpassad design på captcha
Guide till hur du anpassar captcha-designen i ditt Shoporama-tema med din egen HTML och styling.
Shoporama visar automatiskt en captcha när en användare skickar in en e-postadress utan att vara inloggad (t.ex. kontaktformulär eller lageravisering). Du kan anpassa utseendet på captcha genom att skapa din egen mallfil.
När visas captcha?
Captcha utlöses automatiskt när:
- En användare skickar in ett formulär med e-post utan att vara inloggad
- Användaren har en tom korg eller ingen korg
- Förfrågan saknar en HTTP-referent (misstänkt sändning)
- Registrering som inte finns i lager (registrering som inte finns i lager)
Så här skapar du din egen captcha
Skapa filen captcha.html i ditt tema:
- Smarty 4 teman -
mallar/captcha.html - Smarty 2-teman -
captcha.htmli temaroten
Tillgängliga variabler
| Variabel | Beskrivning av variabeln |
|---|---|
<{$imgstr}> | Base64-kodad PNG-bild med captcha-kod (310×100 px) |
<{$form}> | Dolda formulärfält med den ursprungliga POST-datan |
<{$error}> | Sätts till true om användaren angav fel kod |
Exempel (Smarty 4)
<form action="" method="post"> <{$form}> <{if $error}> <p>Fel kod - försök igen.</p> <{/if}> <img src="<{$imgstr}>" alt="Captcha"> <input type="text" name="c" autocomplete="off" maxlength="3" autofocus> <button type="submit">Bekräfta</button> </form>
Viktig anmärkning
Inmatningsfältet måste ha name="c" - detta är det fält som Shoporama validerar mot. Koden består av 3 tecken och valideras utan hänsyn till skiftlägesskillnader.
Skicka automatiskt efter 3 tecken
De flesta teman skickar automatiskt formuläret efter att användaren har angett 3 tecken. Du kan implementera detta med följande JavaScript:
document.querySelector('input[name="c"]') .addEventListener('input', function() { if (this.value.length === 3) { this.closest('form').submit(); } });
Du kan utforma captcha-sidan fritt med CSS så länge som de tre obligatoriska elementen ingår: <{$form}>, bilden från <{$imgstr}>och inmatningsfältet med name="c".
Behöver du hjälp med något? Kontakta oss på support@shoporama.dk.