播放2.0如何从(securesocial)模块中覆盖我的视图?

时间:2012-07-13 06:49:11

标签: views playframework-2.0 securesocial

我正在使用securesocial插件并将其用作模块。

所以我的结构就像:

project
 |
 |--app
 |---|
 |---|--views/main.scala.html
 |--conf
 |--logs
 |--module
 |---|--securesocial
 |---|------|
 |---|------|--app
 |---|------|---|
 |---|------|---|--views/main.scala.html
 |---|------|---|--views/login.scala.html

我的简单问题是,我如何使用我的“app / views”文件夹中的“main.scala.html”-view覆盖我的module / securesocial / app / views中的main.scala.html?!< / p>

我的意思是“覆盖”,我可以将登录视图包含在我的main.scala.html的“@content”变量中,通常可以这样工作:

@main("My title test"){
    <p class="note">
        Try <em>guillaume@@sample.com</em> with <em>test123</em> as password.
    </p>
}

但是使用“@main”我无法从模块文件夹中访问(并因此覆盖)我的“app / views / main.scala.html”。

2 个答案:

答案 0 :(得分:2)

SecureSocial使用您可以自定义的插件呈现视图默认实现是DefaultTemplatesPlugin,您可以用自己的插件替换它来更改生成的html。

创建自定义页面和电子邮件:

  1. 在视图下创建一个新目录,以放置SecureSocial的自定义模板。
  2. 创建一个实现TemplatesPlugin特征的新插件并呈现这些模板。
  3. 编辑play.plugins文件并将DefaultPluginsTemplate替换为您自己的类。
  4. 您可以通过查看TemplatesPlugin特征或文档页面来查看需要实现的方法:http://securesocial.ws/guide/views-customization.html

答案 1 :(得分:0)

尝试为视图提供确切的包名称:

@views.html.main("My title test"){
  ...
}