2016-10-31 7 views
1

UserPartというカスタムタイプが作成されました。CommonPartなしでコンテンツリストをコンテンツリストに表示するにはどうすればよいですか?

this issue on GitHubによると、あなたはそれがStackOverflowExceptionが発生するためにもUserPartを持ってCommonPartにコンテンツを追加することはできませんが、私はまだ私のカスタムタイプのアイテムは、コンテンツリストに表示しますように。カスタムPartRecordに既にCreatedUtcとPublishedUtcを保存していますが、手動でどこかでプラグインできますか?

EDIT:私の具体的なシナリオは、現時点までプライベートアプリケーションで使用されていた既存のデータに基づいてオーチャードのウェブサイトを公開しています。私はOrchardユーザーにマップする必要があるユーザーアカウントを持つ従来のテーブルを持っていますが、訪問者がブラウズできるようにする必要がある旅行代理店でもあり、Orchardの管理者はDashboardで簡単に編集して作成できるはずです。私は、UserPartでTravelAgencyタイプを作成する考えを持っていますSipke's webshop tutorial

答えて

1

コンテンツタイプは、コンテンツリストに表示するためにCommonPartを持つ必要はありません。あなたの移行でCreatable()をトリガーすることによって、私はそのことを正しく覚えています。 また、UserPartがある場合は、Lazyをロードするか、外部キーを使用して参照するだけです。

なぜあなたはそのようなコンテンツをコンテンツリストの一部にしたいですか?私は通常、自分のビジネス固有のコンテンツタイプをすばらしいセクションに入れておくので、ユーザーにとって視覚化して使用するのが容易になります。

バグはありますが、あなたのタスクを達成するためにタクソノミを拡張して、あなたの目的に合ったOrchard Codebaseを変更することがあることを覚えておいてください。私は私のプロジェクトに合った機会を数回とってきました。

コンテンツリストが作成されたコアコードを調べると、Creatable()タイプが検索されます。コード内をさらに掘り下げると、担当の担当者がCommonPartに参加する可能性があります。したがって、あなたの問題です。あなたはコントローラに別のクエリを簡単に追加して、後にあるものを追加することができます。しかし、問題はあなたのタイプに合わせて残りのアクションをリファクタリングすることになります。あなたの新しいタイプを簡単に隔離する方法。 Orchard.Core.Contents.Controllers.AdminController

+0

まあ、コンテンツタイプは作成可能でリスト可能ですが、私が見ている限りコンテンツリストには表示されませんCommonPartを添付して再公開しないでください。 CommonPartを削除すると、リストから項目が再び消えます。私の場合、タイプはビジネス特有ではありません。それはユーザーでも、訪問者がフロントエンドでやりとりできるものでもあります。 – Lawyerson

+0

私はあなたの問題がどこにあるのだろうと思っています。あなたのシナリオをもっとうまく説明できるなら、恐らく回避策が見つかるかもしれません。 – ErMasca

+0

私の具体的なシナリオは、現時点までプライベートアプリケーションで使用されていた既存のデータに基づいてオーチャードのウェブサイトを構築することです。 Orchardユーザーにマッピングする必要のあるユーザーアカウントを持つ従来のテーブルがありますが、訪問者がブラウズできるようにする旅行代理店や、管理者がダッシュボードで簡単に編集して作成できるようにする必要があります。私は[Sipkeのwebshopチュートリアル](http://www.ideliverable.com/blog/writing-an-orchard-webshop-module-from-scratch-part-8)からUserPartを使ってTravelAgencyタイプを作成する考えを得た – Lawyerson

関連する問題