2016-07-14 5 views
0

Playframeworkのテンプレートパスをオーバーライド/追加することが可能かどうか疑問に思っていましたか?たとえば、デフォルトのテンプレートはビューフォルダの下に表示され、自動的にコンパイルされます。これらのテンプレートは、追加の設定なしでURLを使用して直接アクセスできます。また、ビルドプロセスでコンパイルされているviewsフォルダに加えて、カスタムパスを追加することが可能である場合、私は知りたいのですがどのようなPlayframework:カスタムテンプレートパス

---app 
    |-controllers 
    |-models 
    |-templates //How do I compile templates under this folder? 
    |-views 

です。あるいは、特定のテンプレートを直接URLで到達できないようにブロックすることは可能ですか?

ありがとうございます! appディレクトリの下に

+0

「直接URLで到達可能」でないテンプレートについての例を挙げることはできますか? – Mikesname

答えて

0

、プレイは自動的トワールテンプレートのように見える何かをコンパイルする必要があります - つまり、そのよう*.scala.htmlとして登録拡張子を持っている - 。にかかわらず、それは中に何ディレクトリのviewsディレクトリは単なる慣習で、テンプレートのコンパイルapp/templatesディレクトリの下に既に発生するはずです。

あなたはSBTを開いた場合は、コマンドを実行することにより、これを確認することができますプロンプト:

あなたのような何か与える必要があり
show twirlCompileTemplates::sourceDirectories 

:外appをtemplatesディレクトリを追加するための

[info] my-project/compile:twirlCompileTemplates::sourceDirectories 
[info] List(/home/me/my-project/app) 

をフォルダの場合は、build.sbt(たとえば、ディレクトリextra_templates)に次のようなものを追加する必要があります。

import play.twirl.sbt.Import.TwirlKeys._ 

sourceDirectories in (Compile, compileTemplates) += file("extra_templates")