1

ユーザーのアクセスレベルに基づいてナビゲーションメニューを生成するWebサイトがあります。このコードは、webservicesとxsltを使用してデータを取得し、ブラウザーで変換します。

このサイトを無料で利用できるCMSにエクスポートしたいのですが、この機能が組み込まれているCMSを誰かが提案できますか。私はオーチャードが本当に好きでしたが、これを機能させることができません。

お手数をおかけしますが、よろしくお願いいたします。

4

1 に答える 1

2

このようなものが組み込まれていて、それを機能させるためのコーディングを必要としないCMSは見つからないと思います。

ただし、Orchardにそのような機能を追加するのはかなり簡単です。あなたがしなければならない唯一の2つのことは次のようになります:

  1. Orchardモジュールを作成します(コマンドラインから自動生成できます) 。
  2. INavigationProviderインターフェイスを実装するクラスをモジュールプロジェクトに作成します。メニュー項目コレクションを返すオーバーライドするメソッドは1つだけです(Parent <-> Itemsプロパティを介して適切に階層化されています)。すべてのカスタムアイテム取得ロジックは、ここで実行する必要があります。オーバーライドするMenuNameプロパティもあります。これにより、生成されたメニューの名前が返されます(ほとんど何でもかまいません)。

そして基本的にはそれだけです-ソリューションをコンパイルし、ダッシュボード->モジュール->機能を介してモジュール機能を有効にします。

メニューを表示するには、 AdvancedMenuモジュールを使用できます。この機能をインストールして有効にした後、MenuWidget(またはシンプルなスタイル設定済みメニューが必要な場合はStyledMenuWidget)を任意のゾーンにドロップできます([ダッシュボード]-> [ウィジェット]から実行できます)。これを行うと、レンダリングするメニューの名前を尋ねられます。INavigationProviderのMenuNameプロパティが返す名前を指定します。

HTH

于 2011-05-04T01:34:03.760 に答える