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>

次に、追加のモジュール (ログイン モジュールなど) を必要とするメイン ビュー (home.gsp など) に、次のようなものを含めることができます。

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