0

重複の可能性:
1対多のメンバーと記事の関係

私たちはExpressionEngineに不慣れであり、このCMSを使用していくつかのサイトを構築した人の助けを借りることができます。

ユーザーがログインして他の著者から提出された記事を読む小さなダッシュボードシステムがあります。メンバーがログインしたときにホームページに表示する記事のカテゴリを選択できるフォームが必要です。次に、そのホームページを実際に作成して、ユーザーが選択した記事のカテゴリが表示されます。

dbの観点からは、これはユーザーとカテゴリ間の1対多の関係のように見えますが、チャネルではなく、作成を許可していないように見えるため、特にメンバーを使用して、ee内でこれを実現する方法がわかりません。メンバーのカスタムフィールドの関係。

カテゴリタイプごとにカスタムフィールドを作成することを検討しましたが、約95あり、それらを追加または削除するときに、すべてに追いつくのは非常に面倒です。行ったとしても、1人のメンバーを多くのカテゴリまたはカテゴリを介して多くのエントリに接続する方法がわかりません。

つまり、ログインしたメンバーを使用して、ログインしたメンバーによって設定として選択された複数のカテゴリの1つに割り当てられた記事のクイックリストを取得するという考え方です。

4

1 に答える 1

1

複数選択またはチェックボックス形式で、ログインしているユーザーに使用可能なすべてのカテゴリを表示するフォームを作成します ( channel:categoriesを使用)。そのフォームを、PHP 対応のテンプレート、または単純なカスタム プラグインのプラグイン タグを含むテンプレートに POST します。投稿されたカテゴリの配列を取得し、それらをパイプ区切りのリストに連結し、それを単純な新しいデータベース テーブル (member_id ({logged_in_member_id}変数を使用するか、PHP モードでは$this->EE->session->userdata['member_id']) とカテゴリ リストを列として使用)、またはあまり理想的ではありませんが (より単純に) それらを Cookie に配置します。

次に、そのカテゴリ リストをデータベースまたは Cookie から取得し、それをchannel:entries タグの「category」パラメータとして使用できます。

于 2011-03-18T15:11:00.410 に答える