1

Twitter はブートストラップ 2.1 をリリースしたばかりで、play2 のヘルパーを更新したいと考えています。

現在のルールは https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/views/helper/twitterBootstrap/twitterBootstrapFieldConstructor.scala.htmlです。

私はに行きましたC:\play\framework\src\play\src\main\scala\views\helper\twitterBootstrap

それを次のように変更しました: (ルールはここにあります: http://twitter.github.com/bootstrap/base-css.html#forms )

@(elements: views.html.helper.FieldElements)

@import play.api.i18n._
@import views.html.helper._

@**************************************************
* Generate input according twitter bootsrap rules *
**************************************************@

<div class="control-group error">
 <label class="control-label" for="@elements.id">@elements.label(elements.lang)</label>
 <div class="controls">
        @elements.input
        <span class="help-inline">@elements.errors(elements.lang).mkString(", ")</span>
        <span class="help-block">@elements.infos(elements.lang).mkString(", ")</span> 
    </div>
</div>

しかし、プロジェクトを更新する方法がわかりません。

やった

play
clean
run

しかし、それはまだ古いルールを使用しています。何かアイデアはありますか?

編集:

ビューから Twitter ヘルパーを使用するにはどうすればよいですか?

@(signupForm: Form[User])

@import helper._


@title = {
    Sign Up
}

@main(title, nav = "signup") {

    @helper.form(action = routes.SignUp.submit) {

        <fieldset>
            <legend>Account informations</legend>

            @inputText(
                signupForm("username"), 
                '_label -> "Username", 
                '_help -> "Please choose a valid username.",
                '_error -> signupForm.globalError
            )
4

3 に答える 3

3

私は最近、同様の問題に遭遇し、この目的のために独自のヘルパーを作成することになりました。

の内容app/views/Helpers/bootstrapInput.scala.html:

@(elements: helper.FieldElements)

@*****************************************************
* Generate input according to twitter bootsrap rules *
******************************************************@
<div class="control-group @if(elements.hasErrors) {error}">
  <label class="control-label" for="@elements.id">@elements.label</label>
  <div class="controls">
    @elements.input
    <span class="help-inline">@elements.errors(elements.lang).mkString(", ")</span>
  </div>
</div>

そしてそれを使用するには、これをビューに入れます(パラメーターを宣言した直後の一番上):

@implicitField = @{ FieldConstructor(views.html.Helpers.bootstrapInput.f) }
于 2012-08-24T12:13:25.603 に答える
2

Play を更新しました。ソースコードをコンパイルしてパッケージ化していません。

ヘルパーを変更する最良の方法は、独自のプロジェクトでヘルパーを使用することです。

  1. 新しいヘルパーをapp/viewディレクトリに配置します
  2. インポートを追加せずにビューで直接使用する
于 2012-08-22T14:25:14.470 に答える
0

Play フレームワークでこれを修正するための Github のプル リクエストもありました。誰かがこのコミットを便利に使えるかもしれません。

于 2012-08-30T08:52:44.450 に答える