Je connais ce jeu actuel! la distribution a un assistant pour Bootstrap 1.4. Que dois-je faire si je veux utiliser la version actuelle de Bootstrap?
J'utilise le Twitter 2.0.1 bootstrap avec Play 2.0. Vous pouvez télécharger une version spécifique ici: https://github.com/Twitter/bootstrap/tags =. Une fois que vous avez téléchargé Twitter bootstrap vous avez deux options:
vous pouvez choisir d'utiliser simplement le bootstrap.min.css
(et bootstrap-responsive.css
) et bootstrap.min.js
, tous ces fichiers peuvent être placés dans le dossier public.
ou vous pouvez utiliser le moins de fichiers pour le CSS. Si vous souhaitez utiliser le moins de fichiers, vous créez le package suivant (à la racine de votre dossier d'application):
assets.stylesheets.bootstrap
Et dans vous construisez scala vous définissez que ces fichiers .less doivent être compilés:
// Only compile the bootstrap bootstrap.less file and any other *.less file in the stylesheets directory
def customLessEntryPoints(base: File): PathFinder = (
(base / "app" / "assets" / "stylesheets" / "bootstrap" * "bootstrap.less") +++
(base / "app" / "assets" / "stylesheets" / "bootstrap" * "responsive.less") +++
(base / "app" / "assets" / "stylesheets" * "*.less")
)
val main = PlayProject(appName, appVersion, appDependencies, mainLang = Java).settings(
// Add your own project settings here
lessEntryPoints <<= baseDirectory(customLessEntryPoints)
)
Et puis vous pouvez l'inclure dans vos templats:
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap/bootstrap.min.css")" />
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap/responsive.min.css")" />
EDIT: 2012-09-17: Si vous prévoyez de construire Play à partir des sources, suivez ce tutoriel sur la page wiki Play: https://github.com/playframework/Play20/wiki/Tips
EDIT: 2012-09-21: Lorsque vous utilisez le bootstrap vous devez toujours faire un choix si vous voulez changer le dossier images
ou en ajoutant une route aux deux images statiques utilisées par le bootstrap:
EDIT: 2013-03-11: Comme l'a indiqué la xréf, j'ai fait une erreur: img
doit être images
:
GET /assets/img/glyphicons-halflings-white.png controllers.Assets.at(path="/public", file="/images/glyphicons-halflings-white.png")
GET /assets/img/glyphicons-halflings.png controllers.Assets.at(path="/public", file="/images/glyphicons-halflings.png")
Une approche rapide et maintenable consiste à utiliser WebJars (un gestionnaire de dépendances côté client par Typesafe Dev Advocate: James Ward ), avec quelques lignes dans votre Build.scala, vous peut facilement ajouter Bootstrap (par exemple la version 2.3, 3.0, etc.) - et bien plus encore - à votre projet.
1) Voici l'exemple de documentation pour ajouter Bootstrap 2.3 à Play 2.1 , dans votre Build.scala :
import sbt._
import Keys._
import play.Project
object ApplicationBuild extends Build {
val appName = "foo"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
"org.webjars" %% "webjars-play" % "2.1.0-2",
"org.webjars" % "bootstrap" % "2.3.2"
)
val main = Project(appName, appVersion, appDependencies).settings()
}
2) Ajoutez ensuite une entrée à votre fichier routes :
GET /webjars/*file controllers.WebJarAssets.at(file)
3) Ajoutez les liens pertinents à vos modèles :
<link href='@routes.WebJarAssets.at(WebJarAssets.locate("css/bootstrap.min.css"))' rel='stylesheet' >
<script src='@routes.WebJarAssets.at(WebJarAssets.locate("jquery.min.js"))' type='text/javascript' ></script>
Notez que WebJars va réellement essayer de trouver vos ressources pour vous, vous n'avez pas besoin de qualifier complètement les emplacements des ressources.
Je vais lancer, pour utiliser les glyphicons avec Bootstrap 2.2.2 et Play 2.0.4 je ne pouvais pas vraiment utiliser les routes que les adis ont postées ci-dessus. J'ai déplacé les deux fichiers de glyphicons dans le ' dossier d'images (le Play par défaut, pas 'img' qui est le Bootstrap par défaut) et ajouté à mes routes:
# Map Bootstrap images
GET /assets/img/glyphicons-halflings.png controllers.Assets.at(path="/public", file="/images/glyphicons-halflings.png")
GET /assets/img/glyphicons-halflings-white.png controllers.Assets.at(path="/public", file="/images/glyphicons-halflings-white.png")
et cela me permet d'accéder aux glyphicons comme une installation normale bootstrap, pas de problème avec les fichiers "moins", etc.
J'utilise bootstrap 2.0 avec le jeu 2.0. Tout fonctionne bien, sauf le helper.twitterbootstrap.
Je pense que c'est une classe majeure pour twitterbootstrap 1.x, pas pour 2.0. Toute solution?
Edit: c'est du travail
Ou vous pouvez suivre ce tutoriel simple: https://plus.google.com/u/0/108788785914419775677/posts/QgyUF9cXPkv
Je l'ai utilisé avec Twitter Bootstrap 2.0.1 et Play 2.0
Vous venez de mettre à jour Twitter bootstrap et aussi de mettre à jour votre propre code (le bootstrap code spécifique que vous avez écrit). Consultez le lien suivant pour plus d'informations sur la mise à jour vers le dernière version: http://Twitter.github.com/bootstrap/upgrading.html .
J'ai dû faire quelques choses, notamment en utilisant la dernière version de Play 2.0 en raison de certains problèmes que la version publiée avait avec la compilation des fichiers les moins utilisés par le bootstrap. Suivez les instructions ici https://github.com/playframework/Play20/wiki/BuildingFromSource pour construire à partir de la source. Ensuite, j'ai placé tous les fichiers bootstrap moins dans le répertoire "app/assets/stylesheets /" de votre application. Play ne devrait compiler que "bootstrap.less", vous devez donc ajouter ce qui suit à "project/Build.scala":
val main = PlayProject(appName, appVersion, appDependencies, mainLang = Java).settings(
lessEntryPoints <<= baseDirectory(_/"app"/"assets"/"stylesheets" ** "bootstrap.less")
)
Si vous utilisez l'un des plugins javascript bootstrap), vous devrez les ajouter à "public/javascripts" et les inclure dans votre code HTML.
MÉTHODE SCRIPT (de ici )
1- Copiez moins de fichiers de bootstrap dans app/assets/stylesheets/bootstrap
2- Exécutez ce script dans app/assets/stylesheets/bootstrap
en le copiant et en le collant dans un shell/terminal (le script renommera les fichiers partiels et modifiera le chemin des importations):
for a in *.less; do mv $a _$a; done
sed -i 's|@import "|@import "bootstrap/_|' _bootstrap.less
mv _bootstrap.less ../bootstrap.less
sed -i 's|@import "|@import "bootstrap/_|' _responsive.less
mv _responsive.less ../responsive.less
Remarque : le script ci-dessus ne fonctionne pas sur Mac ! Sur Mac, utilisez ceci :
for a in *.less; do mv $a _$a; done
sed -i "" 's|@import "|@import "bootstrap/_|' _bootstrap.less
mv _bootstrap.less ../bootstrap.less
sed -i "" 's|@import "|@import "bootstrap/_|' _responsive.less
mv _responsive.less ../responsive.less
3- Inclure le CSS compilé
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap.min.css")" />
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/responsive.min.css")" />