Spielen! Rahmen. Vorlage "include"

7

Ich plane meine Website-Struktur wie folgt:

  
  • header.scala.html
  •   
  • XXX
  •   
  • footer.scala.html
  •   

jetzt, anstelle von "xxx" sollte es eine bestimmte Seite (d. h. "UsersView.scala.html") geben.
Was ich brauche ist, (wie bei bekannten Sprachen) die Quelle der Fußzeile und der Kopfzeile in den Code der mittleren Seite.

Meine Fragen lauten also:

  1. Wie fügen Sie eine Seite in eine andere mit Scala-Templating ein?
  2. Denkst du, es ist ein gutes Paradigma für Play! Framework-basierte Website?
socksocket 01.08.2012, 16:48
quelle

3 Antworten

13

Ein gebräuchliches Muster besteht darin, eine Vorlage zu erstellen, die den Textbaustein enthält, und einen Parameter vom Typ HTML zu verwenden. Sagen wir:

main.scala.html

%Vor%

Tatsächlich müssen Sie Kopf- und Fußzeile bei diesem Ansatz nicht wirklich trennen.

Ihre UsersView.scala.html sieht dann so aus:

%Vor%

Sie umschließen das UsersView mit main, indem Sie es als Parameter übergeben.

Sie können Beispiele dafür in den Beispielen

sehen

Meine übliche Hauptvorlage ist etwas komplizierter und sieht ungefähr so ​​aus:

%Vor%

Auf diese Weise kann eine Vorlage eine Kopfzeile und einen Titel übergeben und einen Benutzer sowie natürlich den Inhalt verfügbar machen.

    
Brian Smith 01.08.2012, 17:02
quelle
30

Rufen Sie einfach eine andere Vorlage wie eine Methode auf. Wenn Sie footer.scala.html einschließen möchten:

@footer()

    
jparkcool 11.08.2012 04:26
quelle
2

Play bietet eine sehr praktische Möglichkeit, dies zu implementieren!

Layoutteil von offiziellen Dokumenten:

Zuerst haben wir eine base.html (das nennen wir in django -_-)

%Vor%

Wie benutze ich die base.html?

%Vor%

Weitere Informationen hier

    
Lincoln 29.12.2015 15:39
quelle