【问题标题】:Grails Layouts - Kind of a Nested Layout Problem, Conditional ContentGrails 布局 - 一种嵌套布局问题,条件内容
【发布时间】:2011-07-06 01:02:18
【问题描述】:

我有以下(简化的)布局:

<header>
  ... more stuff here
  <nav id="nav">
    <div class="content_wrapper">
      <ul id="menu">
        <li>dashboard</li>
      </ul>
    </div>
  </nav>
</header>
<div id="main_content">
  <div class="content_wrapper">
    <g:layoutBody/>
  </div>
</div>

我的问题是“菜单”导航取决于 layoutBody 中呈现的内容。不仅文本“仪表板”会更改为“登录”、“支持”等,而且在某些页面上还有按钮、链接等。在 Grails 中有什么方法可以在不改变页面布局的情况下动态呈现这个基于layoutBody的NAV元素?我已经阅读了包括内容块部分的文档,但它们并没有解决问题,因为它们仍然是在主布局中预先确定的。

【问题讨论】:

    标签: grails layout sitemesh


    【解决方案1】:

    我的 grails webapp 也有同样的问题。这是我解决它的方法。 在您的布局中:

    <nav id="nav">
        <div class="content_wrapper">
          <ul id="menu">
            //Here you can insert whatever you have in all your pages
            //Then below you can insert custom content depending on main body
            <li><g:pageProperty name="page.nav-content"/></li>
          </ul>
        </div>
    </nav>
    

    然后在需要附加模块(如登录模块)的主视图(如 home.gsp)中,您可以包含以下内容:

    <content tag="nav-content">
       <g:include controller="nav" action="login"/>
    </content>
    

    【讨论】:

    • 我采用了一个与此类似的解决方案,但足够接近以称其为正确。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多