0

私は会社のウェブサイトを持っており、世界中に多くのオフィスがあります (約 50 のオフィス)。会社は、特定の日ごとに特定の会社の従業員にプレゼントを贈りたいと考えています。

例えば:

Office 1: will do the giveaway the days: 1/1/2010, 7/1/2010, 15/1/2010, etc...
Office 2: the days: 2/1/2010, 9/1/2010, 19/1/2010, etc...
Office 3: ....
Office 50: ...

(日は特定のオフィスに手動で設定されます。ここではアルゴリズムは必要ありません)

オフィスごとにノードがあります。これは、各オフィスの詳細 (場所、電話、電子メールなど) を含む CCK コンテンツ タイプです。これらの日をオフィスに割り当てる必要があります。

しかし、ここでの問題は、イベントにデータを保存する必要がないため、イベント (または少なくともノード イベント) を作成する必要がないことです。ただ言う必要があります:オフィス 1? はい、2010 年 1 月 1 日、2010 年 7 月 1 日などです
。日付を知るためだけに、他には何もありません。

また、可能であれば、カレンダー モジュールで表示できるようにします。

あなたの提案は何ですか?

4

3 に答える 3

0

わかりました。自分で解決策を見つけました。それをあなたと共有したいと思います。

3つのコンテンツタイプを作成しました。

Office:オフィスのデータを含む
Days:1日あたりのノード(365 *年)
を使用し、Giveaway:2つのノード参照フィールドを使用します。1つはOffice用、もう1つはDay用です。

(日数は、今後2年程度を埋めるスクリプトを使用して手動で入力する必要があります)。

したがって、Giveawayコンテンツタイプのみを入力できます。これで十分です。

そして、ビューだけが残っています。

于 2009-12-21T23:56:14.030 に答える
0

CCKと日付モジュールを使用すると、日付フィールドを作成できますが、追加するフィールドが多数ある場合は、これが最善の解決策ではない可能性があります。

この問題を解決するには、2つの一般的な方法があります。どちらかあなたはそれぞれの日付を保存する必要があります。これは日付フィールドで行うことができますが、複数の値、ノード参照などを処理できるかどうかはわかりません。これはいくつかの点で効果がありませんが、カレンダービューを簡単に生成できるようになります。

日付情報として文字列を記述し、phpにそれを日付に変換させることもできます。このルートを使用すると、データの作成と保存が簡単になりますが、カレンダーとの統合が非常に難しくなります。

最も太くて簡単な解決策は、おそらく日付モジュールを使用したノード参照と、必要なすべてのノードを作成するためのスクリプトを組み合わせることです。Drupal内で作成する代わりに。

この情報を保存するカスタムモジュールを作成することもできます。これはより長期的なソリューションであり、ビューおよび日付/カレンダーモジュールと統合するにはより多くの作業が必要になります。

これを行うには多くの方法がありますが、それは本当にあなたの必要性、スキル、そして時間に依存します

于 2009-12-19T20:29:22.377 に答える
0

単純な古い CCK テキスト フィールドを使用して、その目的と、それをバックアップするヘルプ セクションでフォーマットする方法を明確に説明してみませんか?

テキスト領域 (複数行) を使用し、行改行を変換するデフォルトの入力形式を適用します。マークダウン フィルターも使用するのが好きです。

テキストエリアの代わりに複数の単一行フィールドを使用することもできます...

これは、ユーザーがもちろん正しい情報を入力できるほど頭が良いことを前提としていますが、それがヘルプと説明の目的です。ユーザーがコンテンツを正しく入力することを信頼できない場合は、はい、そうするように強制する何かを選びます.

于 2009-12-20T10:06:17.923 に答える