0

Grails Platform Core Navigation APIによって生成された各メニュー項目にidまたはなどの HTML 属性を追加することは可能ですか?class

おそらく次のようなもの:

home(controller: 'home', action:'index', titleText:'Home', elementId: 'navHome')

生成されたリンクを使用するいくつかの機能テストを書いています。ただし、リンク テキスト (および場合によっては URL) は変更される可能性があります。ID を使用すると、テストの保守が容易になります。

4

1 に答える 1

0

dataNavigation API は、マップおよびカスタム メニュー項目のレンダリングを介して値を追加する機能を提供します。

例:

ステップ1

dataのメニュー項目定義にマップを追加しますconfig/AppNavigation.groovy

home(controller: 'home', action:'index', titleText:'Home', data: [elementId: 'navHome'])

ステップ2

GSP ファイルでdata使用するマップを参照します。item.data.*

<nav:primary scope="some scope" custom="true">
    <li>
        <p:callTag
            tag="g:link"
            attrs="${linkArgs + [class:active ? 'active' : ''] + [elementId:item.data.elementId]}"
        ><nav:title item="${item}"/></p:callTag>
   </li>
</nav:primary>

これにより、次の HTML が生成されます。

<ul class="nav primary">
    <li>
        <a href="/VVAdmin/" id="navHome" class="active">Home</a>
    </li>               
</ul>

詳細については、Navigation API ドキュメントのnav:menuタグのドキュメントを参照してください。

于 2013-07-10T09:47:29.727 に答える