2011-11-25 15 views
5

Me gustaría hacer algo como eso.Parámetro dinámico en la plantilla de Scala para PlayFramework

Aquí es la plantilla principal:

@(title: String)(content: Html) 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>@title</title> 
     <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> 
     <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")"> 
     <script src="@routes.Assets.at("javascripts/jquery-1.6.4.min.js")" type="text/javascript"></script> 
    </head> 
    <body> 
     @content 
    </body> 
</html> 

Y aquí es otra:

@(user: User) 

@main(title = "@user.email - SiteName") { 

    <b>@user.email (@user.role)</b> 

} 

La tarde no funciona porque no pudo con el "@ user.email" en el título parámetro.

¿Cómo puedo hacer eso?

PD: Sé que puedo hacer esto de otra manera (agregue el "- SiteName" en la plantilla principal) pero es solo un ejemplo para entender cómo funciona Scala.

Respuesta

6

Tienes que concatenar las cadenas, al igual que se tratara de código normal Scala (porque es):

@main(title = user.email + " - SiteName") { 
    <b>@user.email (@user.role)</b> 
} 

Todo dentro de @() se trata como código Scala.

+0

Parece obvio ahora me dijiste :) Gracias. Necesito un poco de café, creo. :) – Zofren

+0

Sí, ya tenía el mío;) –

Cuestiones relacionadas