Biblioteca de plantillas comunes
-
09-12-2019 - |
Pregunta
Estoy tratando de crear una vista que solo alberga bloques HTML reutilizables que puedan ser utilizados por otras vistas.Quería saber si algo así es posible:
en Views.home.common.scala.html:
@component1 = {
some common html
}
@component2 = {
some other stuff
}
en vistas. Home.sample.scala.html:
@(user:User)
import home._
@component1
@common.component2
No he tenido suerte hasta ahora y no veo nada similar en las muestras, pero la idea está cubierta en la plantilla casos de uso común .
Solución
Estaba teniendo este mismo problema.Lo que hice estaba definiendo para cada bloque común un archivo y luego importar el paquete que contiene todos esos archivos.
Por ejemplo:
en vistas.common.component1.scala.html:
<div>
Common component 1
</div>
en vistas.common.component2.scala.html:
<div>
Common component 2
</div>
en vistas.main.scala.html:
@(content: Html)
@import common._
<!DOCTYPE html>
<html>
<head></head>
<body>
@component1()
@component2()
</body>
</html>