7

いくつかのロジックを実行し、HTML に織り込まれたデータをレンダリングする taglib を作成しました。ビューで taglib を使用すると、taglib はビューの相対サブフォルダーでテンプレートを見つけることを期待します。ビューのlayouts/フォルダーのような共通フォルダーからtaglibにテンプレートを取得させる方法はありますか? taglib コードは次のようになります。

class IconifiedTextTagLib { 

def renderIconText = { attrs, body ->   
                 //some processing logic to generate the modelMap
         out << render(template:"taglibTemplates/iconText", model:modelMap)
    }
}

<g:renderIconText />たとえば、A という名前のコントローラーでタグを使用すると、 taglibTemplates/iconTextがviews/A/フォルダーに存在することが期待されます。複数のコントローラーから使用できるようにする必要があるため、これは問題です。すべてのビューで使用できるように、テンプレートを layouts/ のようなフォルダーに配置する方法が必要です。これを行う方法について何か考えはありますか?

4

2 に答える 2

9

テンプレートを入れviews/taglibTemplates/て試してください:

out << render(template:"/taglibTemplates/iconText", model:modelMap)

または `views/A/' に、そして

out << render(template:"/A/iconText", model:modelMap)
于 2012-05-15T07:10:59.107 に答える