Vlastní webové formuláře
Rozšiřující možností Zoner inShop 4 je možnost si na stránkách vytvořit vlastní webové formuláře, které budou odeslány po vyplnění zákazníkem na vybraný email. V tomto článku si popíšeme postup vytvoření takového formuláře.
Nejprve si vytvoříme v šabloně vlastní formulář může vypadat např. takto:
<form action="scripts/sendmail.aspx" method="post" id="questionform">
<fieldset>
<input name="configprefix" value="OdeslaniVzkazu" type="hidden">
<input gtbfieldid="4" name="odesilatel" id="email" class="textfield" value="email"
onfocus="if (this.value == this.defaultValue) this.value=''" type="text">
<input src="layout/img/ok_btn.png" name="send_btn" id="send_btn" alt="OK"
title="OK" value="OK" type="image"><br class="cleaner">
<textarea name="dotaz" id="question" rows="3" cols="12"
onfocus="if (this.value == this.defaultValue) this.value=''">dotaz</textarea>
</fieldset>
</form>
Tento jednoduchý formulář obsahuje pole pro zadání emailu zákazníka, pole pro zadání vzkazu a dále tlačítko, kterým bude formulář odeslán. Důležitou součástí je skryté pole
configprefix, které slouží pro identitfikaci konfigurace webového formuláře.Formulář je odeslán metodou post na skript sendmail.aspx.
Konfiguraci formuláře je definována v souboru
Web.config, umístěného v kořenovém adresáři webu (tam se dostanete pomocí ftp klienta). Pokud soubor neexistujete, musíte jej vytvořit a dopsat konfiguraci Pro náš ukázkový formulář bude vypadat takto:
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings>
<add key="OdeslaniVzkazu.FROM" value="obchod@prodejna.cz" />
<add key="OdeslaniVzkazu.TO" value="obchod@prodejna.cz" />
<add key="OdeslaniVzkazu.MAILFROMFIELD" value="odesilatel" />
<add key="OdeslaniVzkazu.MAILOKURL"
value="http://www.prodejna.cz/inshop/scripts/shop.aspx?action=ViewTemplate&
Path=odeslani&od=1" />
<add key="OdeslaniVzkazu.MAILERRORURL"
value="http://www.prodejna.cz/inshop/scripts/shop.aspx?
action=ViewTemplate&Path=odeslani&od=2" />
<add key="OdeslaniVzkazu.SUBJECT" value="Dotaz z prodejny" />
<add key="OdeslaniVzkazu.BODYINPUT" value="dotaz" />
</appSettings>
</configuration>
Konfigurace je vložena do uzlu
appSettings, umístěného v kořenovém uzlu
configuration. Pokud tento uzel chybí je nutné jej dopsat. Jestliže Web.config obsahuje další sekce nebo nastavení ponechte jej, abyste neovlivnili jinou funkčnost.
Konfigurační parametr je zapsán následovně:
<add key="nazev_formulare.nazev_parametru" value="hodnota_parametru" />
- nazev_formulare - odpovídá skrztému poli configprefix ve webovém formuláři, identifikuje formulář. Je možné použít jen znaky bez diakritiky a čísla.
- nazev_parametru - konkrétní konfigurační parametr. Nyní jsou k dispozici následujícíc parametry:
- FROM - email ze kterého bude mail s výsledky formuláře odeslán
- TO - emailová adresa na kterou bude mail doručen
- MAILFROMFIELD - název pole ve webovém formuláři, který slouží k zápisu mailu zákazníka, povinné pole.
- MAILOKURL - Url adresa, kam bude zákazník přesměrován po odeslání dotazu
- MAILERRORURL - Url adresa, kam bude zákazník přesměrován v případě neúspěšného odeslání
- SUBJECT - text, který se zobrazí jako předmět mailu
- BODYINPUT - název pole, které bude použito pro vytvoření těla zprávy
- BODYOTHERFIELDS - čárkou oddělený seznam dalších polí, jejichž hodnoty se mají vložit do emailu.
Jestliže chcete mít na stránkách více formulářů je možné pro každý vytvořit jinou konfiguraci a rozlišit je pomocí prefixu a pole
configprefix.