2016-10-20 17 views
0

私はUmbraco 7.5を持っており、私のサイトに新しいデータを追加するための通常のMVCページを作成する方法を知る必要があります。umbracoにmvcページを追加する方法

バックオフィスにDoctype "Node"があります。バックオフィスを経由せずにノードを追加/編集できるようにしたいと思っています。どうしたらいいですか?

私のビューとコントローラ(MVCの方法)を追加しようとしましたが、明らかにUmbracoがすべてのルーティングをハイジャックし、コントローラが全くヒットしません。

私は(私はウンブラのフォームを探していないので、これは難しいです):googledと私はthisを見つけました。しかし、私は自分のフォームを他のページの一部として追加したくない。つまり、タイプ「何か」からバックオフィスにページを作成し、そのテンプレートに別のタイプの追加/編集フォームを作成するのは意味がありますか?奇妙な、右か?

この問題の解決策はありますか?

+0

ルーティングドキュメントhttps://our.umbraco.org/documentation/reference/routing/custom-controllersをご覧ください –

答えて

0

ここにはいくつかのオプションがあります。エディタが座る物理ページを作成し、エディタをSurfaceControllerアクション(基本的にUmbracoパイプラインの一部であるポストバック付きのMVCパーシャル)として追加することができます。フォームでは、コンテンツサービスAPIを使用して詳細を更新できます。この方法の利点は、あなたのコードがUmbracoのすべてのメソッドとテンプレートからのアクセスを持つことです。また、JS APIを使用してすべてのクライアントサイドでWebAPIコントローラを使用することもできます。

また、ルートハイジャックを使用することもできます。https://our.umbraco.org/documentation/reference/routing/custom-controllersこれは、Umbracoルート用の独自のカスタムコントローラを持つことができます。デフォルトのUmbracoルートを使用するのではなく、これはもう少しセットアップする作業です。

最後に、特定のパスを完全に無視するようにUmbracoに指示することもできます。また、これらのパスでコントローラを実行することもできます。ここでの短所は、Umbracoによって経路が無視されているため、Umbracoなどの便利なテンプレートに自動的にアクセスすることができないことです。

私は最近、最初の方法を使用しました。唯一の注意点は、多くのユーザーが多くのノードを編集している場合(ノードが保存されるたびにバージョンが作成される)、ユーザーがノードを編集できるようにすることで、バージョンテーブルが非常に速くいっぱいになることです。このルートを終了する場合は、Unversion:https://our.umbraco.org/projects/website-utilities/unversion/のようなものを調べて、古いバージョンをこのような状況でより管理しやすくすることができます。

関連する問題