根据 Grails 中的环境使用不同的 layouts/main.gsp
Use a different layouts/main.gsp based on environment in Grails
我正在尝试为我的应用程序设置两种不同的布局。大多数更改都是基于 CSS 的,但是某些元素也可能会四处移动(例如将导航栏从顶部移动到侧面)。我决定最简单的方法是拥有两个主要布局,然后根据我编译的环境选择一个。
我正在阅读 grails event scripts and how to hoop up on there。理想情况下,我希望有 red_main.gsp 和 blue_main.gsp 并在构建期间将其中之一复制到 main.gsp。在线示例非常有限,希望能提供一些见解。
谢谢!
以下是我为困在同一条船上的任何人所做的。这是我的 scripts/_Events.gsp
文件:
eventCompileStart = { msg ->
def envn = grails.util.Environment.current.name
def mainName = "";
if( envn.contains("_red" ) ) {
mainName = "main_red.gsp"
}
else {
mainName = "main_blue.gsp"
}
ant.copy(file: "${basedir}/grails-app/views/layouts/${mainName}",
tofile: "${basedir}/grails-app/views/layouts/main.gsp",
overwrite: true)
}
我正在尝试为我的应用程序设置两种不同的布局。大多数更改都是基于 CSS 的,但是某些元素也可能会四处移动(例如将导航栏从顶部移动到侧面)。我决定最简单的方法是拥有两个主要布局,然后根据我编译的环境选择一个。
我正在阅读 grails event scripts and how to hoop up on there。理想情况下,我希望有 red_main.gsp 和 blue_main.gsp 并在构建期间将其中之一复制到 main.gsp。在线示例非常有限,希望能提供一些见解。
谢谢!
以下是我为困在同一条船上的任何人所做的。这是我的 scripts/_Events.gsp
文件:
eventCompileStart = { msg ->
def envn = grails.util.Environment.current.name
def mainName = "";
if( envn.contains("_red" ) ) {
mainName = "main_red.gsp"
}
else {
mainName = "main_blue.gsp"
}
ant.copy(file: "${basedir}/grails-app/views/layouts/${mainName}",
tofile: "${basedir}/grails-app/views/layouts/main.gsp",
overwrite: true)
}