web-dev-qa-db-ja.com

カレンダービューの日付を含むフィールドコレクション

私は新しいサイトのコンテンツデザインに取り組んでいますが、特に日付とカレンダーに関しては、データタイプ間のいくつかの接続に大きな問題が発生しています。以下がその概要です。

  • 映画はプログラムと多対多の関係を共有しています。
  • プログラムには1つまたは複数のスクリーニングがあります。
  • スクリーニングにはそれぞれ1つの日付と場所があります。

Node Reference and Field Collectionを使用してこれを正常に完了しました。FilmsとProgramsの間にノード参照があります。ProgramsにはScreeningsと呼ばれるフィールドコレクションが含まれています。フィールドコレクションScreeningsにはフィールドDateとVenueが含まれています。

このセットアップで気に入っている機能は、日付と会場の各ペアがグループ化されていることです。[追加]ボタンをクリックするだけで、そのプログラム内に別のペアを生成できます。これは、スクリーニングの1つ以上の要件を満たします。

残念ながら、これをすべてカレンダービュー(日付モジュール、カレンダーモジュール)に組み込み始めると、ひどく壊れてしまいます。設定方法によっては、Drupal内でSQLエラーまたはインデックスエラーが発生します。それは機能しません。問題の投稿を読んで、これはおそらくカレンダーで処理されないフィールドコレクションによって追加されたある種の複雑さであると収集しました。

日付とカレンダーでフィールドコレクションをうまく機能させるのに足りないのですが、これを実装する別の方法を誰かが提案できますか?私の次の考えは、スクリーニングを独自のノードに移動し、それとプログラムの間に別のノード参照を作成することです。ただし、これは、プログラム内で新しいスクリーニングを生成するためのクリーンでシンプルな[追加]ボタンを失うことを意味します。

おそらく、カスタムの追加/編集フォームだけで十分です。残念ながら、その道は私にはいくつかの明確な指導なしではかなり危険に思われます。

2
Pete

カレンダーでフィールドコレクションを使ってニースをプレイできませんでした。フィールドコレクションビュー内でカスタムカレンダー行プラグインまたはカレンダーアイテムを提供する必要があるようです(複雑すぎます)。

最終的に、私は FullCalendar jQueryプラグイン 上に構築された FullCalendar モジュールを使いました。

それは非常にクリーンで、セットアップが簡単で、私が投げているすべてのものと非常にうまく機能します。カレンダーコレクションとフィールドコレクションの開発がさらに進んだ場合、私はそれらを再検討するかもしれませんが、今のところはこれで十分です。

4
Pete

私はこの正確な問題に直面していましたが、それが理解できるまでそれをぶつけ続けました。

ビューはノードを探しているため、デフォルトでは機能しません。フィールドコレクションのフィールドはノードの一部として認識されません。日付フィールドを見つける場所に関しては、ビューを非常に明確にする必要があります。

  1. 「フィールドコレクションビュー」ビューを作成するフィールドコレクションビューモジュールをインストールします。クローンを作成します。元に戻す必要がある場合に備えて、直接編集しないでください。
  2. 形式をカレンダーに変更します
  3. フィールドコレクションアイテムを含むエンティティとの関係を作成する
  4. フィールドコレクションの日付フィールドのコンテキストフィルターを作成する
  5. フィールドコレクションを使用して、コンテンツタイプの他のフィールドのコンテキストフィルターを作成する
  6. それらのフィールドをフィールドセクションに追加します。

それは複雑で、理解するのに何時間もかかりました。私は何度かあきらめました。私は夜遅くまで起きていました。すべてのステップの概要を説明したと思います。うまくいけば、それは誰かを少し助けるでしょう。

1
Ken