根据 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) 
}