【发布时间】:2013-11-15 20:10:07
【问题描述】:
我的布局中有 main.gsp。其他几个布局都应用主布局,但每个布局都有不同的页面背景(边框、背景图像、宽度等)。
在我的 main.gsp 中,我将 css 样式定义为:
<div class="container <g:pageProperty name="page.containerCss"/>">
在我的嵌套 gsps 中,我将 css 传递给主容器:
<g:applyLayout name="main">
...
<body>
<content tag="containerCss">myCustomCssStyle</content>
或者其他嵌套布局可能会使用:
<content tag="containerCss">aDifferentStyle</content>
有没有更好的方法来做到这一点? main.gsp 中唯一的变量是这个 css 属性,所以我不认为创建 5 个不同版本的 main.gsp 是一个 DRY 选项。
【问题讨论】:
-
视情况而定。每个布局有多少页?有多少页面使用默认布局?
-
大约有 20 个页面使用 main 作为父级。其中有 5 个独特的 css 类需要传递给 main。该站点的所有其余部分均源自 20,因此它们不是问题。
标签: grails