0

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

<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元素?我已经阅读了包括内容块部分的文档,但它们并没有解决问题,因为它们仍然是在主布局中预先确定的。

4

1 回答 1

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>

Then in your main views (like home.gsp) requiring additional modules (like login module), you can include something like:

<content tag="nav-content">
   <g:include controller="nav" action="login"/>
</content>
于 2011-02-28T22:00:44.870 回答