<f:const>

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 name elementu Project v souboru Site.config.
    • ProjectTitle – název projektu uvedený v atributu title elementu Project v souboru Site.config. Není-li atribut titleSite.config uveden, použije se hodnota atributu name.
    • ServerName – název serveru, např. www.example.com nebo 93.184.216.34.
    • FullServerName – název server, včetně protokolu a případného portu, např. http://www.example.com nebo http://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, en atp.
    • LanguageTitle – uživatelsky přívětivý název aktuálního jazyka (tak je je uveden v atributu title elementu 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 targetCollection controlů <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}

Připomínky a postřehy

Máte-li nějakou připomínku, dobrý nápad nebo jste našli v dokumentaci chybu, rádi od vás uslyšíme.