Drupalに基づく商流分布Drupal 7に基づいて本を販売します。最初に、いくつかの与えられたデータに基づいてマージン価格を計算します。JSONがインポートされるか、手動で追加できます。ONIX(実際にはXML)データはすでに初期段階でインポートされています。ONIXデータでは、タグとして価格、重量、および発行元を変数として使用できます。注文時に、これらのデータを組み合わせるルールが必要です、計算を行い、注文完了後の結果を管理者のダッシュボードにビューとして表示します。
この後、以前に計算されたマージンとの関係で、注文のアイテムごとの注文価格に基づいて、購入者が獲得するポイント数を計算します。獲得したポイントは、本の価格の最大パーセンテージに相当し、計算されたマージンの最大%を超えることはできません。
Drupalにこれを行う方法またはテクニックはありますか?
あなたは間違いなく(かなり新しい) Math Field モジュールを見て、それを次の目的で使用する必要があります:
(モジュールのプロジェクトページからの)このモジュールの詳細と、計算が実際に行われるwhenの詳細:
数学フィールドモジュールは、エンティティフォームの値を動的に計算する新しいフィールドタイプを定義します。 これは 計算フィールド の代替であり、PHP Filter。
数式フィールドは、すべての必要なフィールドが入力されるとすぐにエンティティフォームのajaxを介して動的に更新されます。 JavaScriptが無効になっている場合、フォームが送信されるとフィールドが評価されます。フォームが送信されると、結果がデータベースに保存されます。
詳細(詳細な手順)については、次のいずれかのリンクを参照してください。
既知の問題
これはかなり新しいD7モジュールであるため、プロジェクトページにも記載されているように、まだいくつかの(既知の)問題があります。
ボーナス:「PHPフィルター」は必要ありません(IMOのみがこの代替策を調査する正当な理由であるはずです)...
実際の要件/期待に応じて、 Views モジュールのみでダッシュボードを実装できる場合があります。おそらく、そのための追加モジュールの1つを補完します。たとえば、ある種のグラフも作成したい場合は、 charts などのモジュールが適しています。
代替として(または可能な補完ですか?) Forena モジュール(ディスコ:私は共同メンテナです)を検討することもできます。すぐに使用できるグラフが付属しているため、XMLに格納されている一部のデータ(ONIXデータ)をインポートせずに統合することもできます。
これらのポイントは serpoints モジュールを使用して実装できます(それは明らかです)。そして Goals モジュールを使用することで(開示:私はそのメンテナーです)、適切な数のユーザーポイントを付与するために Rules モジュールを処理することができます。そのため、あなたの質問(チャレンジ)はGoalsの適切なセットと関連するタスク。 Goals に関する基本的な紹介については、以下をご覧ください。
ボーナス:質問にそれが(まだ)要件として含まれていないように見えても、特別な報酬を実装するのは簡単ですあなたの頻繁なバイヤー。以下にその方法を示します。
buy_product
と言います)。これの興味深い部分は、新しい/シルバー/ゴールドの顧客になるためのユーザーの進捗状況を追跡するために、1つのルール(そのマシン名= buy_product
に関連)を書くだけでよいことです(同様のサンプルのビデオ)。