Templating

For templating there are only two interesting parts to consider. How to use the ViewHelper and direct inclusion in custom extension are the only parts to modify.

ViewHelper integration

Using the ViewHelper has the benefit that it covers the hole configuration discovery with fallback. Inside the ViewHelper three variables are set.

Property

name

Data type

string

Default

formName[formObject][captcha]

Description

This value depends heavily on fluids field name generation and will vary through out the templates where it gets used.

Property

showCaptcha

Data type

bool

Default

true on Development and false on Production

Description

Contains whether the catpcha should be rendered at all and depends on the application mode.

Property

configuration

Data type

array

Default

settings from TypoScript

Description

Provides the configuration set in TypoScript with fallback to extension configuration set in admin tools extensions.

ViewHelper example integration
<r:form.recaptcha>
   <f:if condition="{showCaptcha}">
      <f:then>
         <f:form.hidden property="{name}" value="1" />
         <div class="g-recaptcha" data-sitekey="{configuration.public_key}"></div>
      </f:then>
      <f:else>
         <div class="recaptcha-development-mode">
            Development mode active. Do not expect the captcha to appear.
         </div>
      </f:else>
   </f:if>
</r:form.recaptcha>

Integration in extension

Here the extension delivers only limited settings. In TypoScript there is the public_key defined which can be rendered as stdWrap to resolve an div container with all needed information to output the captcha.