Q:

How are implicits useful inside a Play template

Play documentation mentions implicit reusable blocks. Can you expand from the one-liner mentioned there and copied below, to show how such blocks would be used in a Play html template?
@implicitFieldConstructor = @{ MyFieldConstructor() }

A:

Actually, this idea is expanded in farther part of the Custom Field Constructors documentation where you can find an example related to form construction.
When you create a form in Play framework you can make use of form helpers to simplify creation of reusable inputs. Play contains several built-in helpers and each of them takes a field constructor as an implicit parameter.
Imagine a following form created in a view.
@implicitFieldConstructor = @{ helper.FieldConstructor(myFieldConstructorTemplate.f) }

@helper.form(action = routes.Application.handlePost()) {
  @helper.inputText(userForm("name"))
  @helper.inputText(userForm("surname"))
  @helper.inputText(userForm("login"))
  @helper.inputText(userForm("password"))
}

The inputText apply method takes FieldConstructor as an implicit parameter. As you can see a template implicit is used to provide a value for the apply method without passing it explicitly to each of inputText call. Thanks to implicit parameter the form definition in the view looks more concise and clearer.

