2010-12-03 4 views
4

J'ai un problème lorsque j'essaie d'utiliser des mises en page dans le jeu! Cadre. Pour autant que je sache, une mise en page possède une balise SINGLE #{doLayout /} qui spécifie où tout le code de la vue enfant doit être placé. Cela signifie que tout le code dans une vue particulière, par exemple, de la liste des utilisateurs (list.html) est injecté au milieu du corps de la mise en page. Maintenant, je trouve que certaines de mes vues nécessitent un javascript qui est particulier à ces vues, et donc je voudrais inclure des balises de script uniquement sur ces vues et non sur chaque vue qui hérite de la mise en page. Le moteur de vue Razor dans ASP.NET MVC permet de créer différentes sections dans une mise en page qui sont remplies par une vue qui étend cette mise en page, mais je ne sais pas si Play prend en charge quelque chose comme ça.Jouez! Cadre: Layouts avec différentes sections

Voyez-vous une solution à ce problème?

+1

Pourquoi l'étiquette groovy, est-ce parce jeu utilise pour la mise en page GSP? –

Répondre

9

Vous pouvez également utiliser les # obtenir, balises # pour définir fixés d'autres blocs. Par exemple:

#{set 'anyBlock'} 
    <h1>Main title</h1> 
#{/set} 

et:

#{get 'anyBlock' /} 
+0

Le # {get 'anyBlock' /} serait utilisé dans la mise en page, permettant moi pour remplacer cette partie avec le contenu de la vue enfant droite? – Diego

1

Vous pouvez utiliser la balise de script dans vos vues spécifiques. Par exemple:

#{script 'jquery.js' /} 

Je vous recommande de lire cette page de documentation:

http://www.playframework.org/documentation/1.1/tags#script

+1

Cela va injecter une balise de script au milieu de ma page, et selon les bonnes pratiques, je voudrais injecter des scripts sur le bas de la page – Diego

Questions connexes