Control slouží pro získání hodnot, jako jsou např. IP adresa klienta, URL stránky, z které byl formulář odeslán, či user-agent. Všechny údaje jsou získané na straně serveru, buď z přijatých http hlaviček nebo ze systému JellyPot – control tedy nemá žádný výstup do výsledného HTML kódu stránky.
<f:const runat="server" id="ua" constType="UserAgent" targetField="userAgent" />
Control musí přijít do template formTemplate controlů <f:collectionForm> nebo <f:emailForm>.
Atributy
constType povinný [předdefinované hodnoty]
Určuje, jaká hodnota je při odeslání formuláře získána. Možné hodnoty jsou:
- IP – IP adresa klienta, který odeslal emailový formulář. Obsahuje i případnou http hlavičku X-Forwarded-For.
- UserAgent – obsah pole User-Agent http hlavičky požadavku, kterým byl formulář zaslán na server.
- ProjectName – jméno projektu uvedené v atributu
nameelementu Project v souboru Site.config.
- ProjectTitle – název projektu uvedený v atributu
titleelementu Project v souboru Site.config. Není-li atributtitlev Site.config uveden, použije se hodnota atributuname.
- ServerName – název serveru, např.
www.example.comnebo93.184.216.34.
- FullServerName – název server, včetně protokolu a případného portu, např.
http://www.example.comnebohttp://93.184.216.34:80.
- Date – datum odeslání formuláře.
- DateTime – datum a čas odeslání formuláře.
- Language – jméno aktuálního jazyka, typicky
cs,enatp.
- LanguageTitle – uživatelsky přívětivý název aktuálního jazyka (tak je je uveden v atributu
titleelementu Language u příslušného jazyka v souboru Site.config).
- Url – url stránky, z níž byl formulář odeslán (např.
/cs/clanek/prvni-clanek-na-blogu-ABCxyz.aspx).
- ProcessedUrl – url stránky, která byla skutečně při odeslání formuláře zpracovávana (např.
/cs/clanek.aspx). Adresa neobsahuje případné předané proměnné, ani jazyk požadavku.
- FullUrl – kompletní url stránky, z níž byl formulář odeslán (např.
http://www.example.com/cs/clanek/prvni-clanek-na-blogu-ABCxyz.aspx).
- FullProcessedUrl – kompletní url stránky, která byla skutečně při odeslání formuláře zpracovávana (např.
http://www.example.com/cs/clanek.aspx). Adresa neobsahuje případné předané proměnné, ani jazyk požadavku.
id povinný [string]
Jedinečné jméno controlu. Pod tímto jménem je obsah controlu dostupný v šabloně emailu.
targetField nepovinný [jméno pole]
Jméno pole prvku cílové kolekce, do kterého se uloží data formulářového prvku. (Cílová kolekce je určena atributem
targetCollectioncontrolů<f:emailForm>nebo<f:collectionForm>).
Příklad
Chceme-li u všech zaslaných formulářů zaznamenávat datum a čas zpracování formuláře a řetezec User-Agent, provedeme to takto.
<f:collectionForm runat="server" targetCollection="someMessageCol">
<formTemplate>
...
<f:const runat="server"
id="ua"
constType="UserAgent"
targetField="userAgent" />
<f:const runat="server"
id="submitted"
constType="DateTime"
targetField="submitted" />
<f:sendButton runat="server" value="Odeslat" />
</formTemplate>
</f:collectionForm>
Při odeslání formuláře bude vytvořen nový prvek v kolekci someMessageCol a do jeho polí budou uloženy hodnoty ze zaslaného formuláře. Konkrétně do pole userAgent bude uložen obsah http hlavičky User-Agent, tak jak byla zaslána serveru v požadavku s odeslaným formulářem. Do pole submitted pak bude uloženo datum a čas, kdy na server tento požadavek dorazil.
Pokud bychom místo <f:collectionForm> použili <f:emailForm>, byly by hodnoty v emailové šabloně přístupné pod placeholdery:
{ua}, resp. {submitted}