0

私は Grails を初めて使用し、それを使用して CMS を構築しようとしています。新しいページがナビゲーションに自動的にリンクを取得するように、ナビゲーション メニューがデータベースから読み取られるようにします。Grails: use controller from index.gspおよび関連する質問を読んでいますが、答えがうまくいかないようです。:(

Navigation というドメイン クラスと _header というテンプレートを作成しました。

「ナビゲーション/リスト」名前空間ではすべて正常に動作しますが、外部ではナビゲーション データにアクセスできません。

次のようにURLマッピングをセットアップしました:

class UrlMappings {
    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }
        "/"(controller : "Navigation", action : "list")
        "/"(view:"/index")
        "500"(view:'/error')
    }
}

しかし、それはうまくいかないようです。何が問題であるかについての手がかりはありますか?

4

3 に答える 3

1

「/」には、新しいマッピングと元のマッピングの 2 つのマッピングがあります。「/」(view:"/index") - まず、もう一方を削除する必要があります。

于 2011-01-20T17:44:12.857 に答える
0

私は問題をすべて間違って見ていました.urlmappingはindex.gspをナビゲーション/リストにリダイレクトするだけでした。私が探していたのは、

DomainClass.findAll( String query )

g:each タグで使用するプロパティ

<g:each in="${Navigation.findAll('from Navigation as n where n.css=?', ['ctBoven'])}" var="oNavigation" status="i">

これにより、任意のページから任意のデータベースを読み取ることができます。

于 2011-01-20T23:10:45.223 に答える
0

これを認識しているかどうかはわかりませんが、Grails で構築されたWeceemというオープン ソースの CMS があります。別の Grails アプリケーションの一部として使用する必要がある場合は、 Weceem 用の grails プラグインもあるので、アプリの一部として使用できます。

完全に新しい CMS を構築する前に、検討する価値があるかもしれません :-)

于 2011-01-20T19:20:18.487 に答える