2

オンラインストアのアイテムの特定の割引に対して人々にさまざまなコードを提供できるように、php でプロモーションコードボックスを作成しようとしています。基本的な考え方は、クーポンのような効果を得るために、購入時にボックスにコードを入力してもらうことです。

私は周りを検索してきましたが、これまたは同様の性質のものに関するものを見つけることができませんでした. どんな助けでも大歓迎です、ありがとう!

4

2 に答える 2

7

以下は、クーポンのようなシステムを作成するために使用した、私自身の考え/アイデアです。これは、バックエンドの設計を開始するのに役立ちます。

  1. (「クーポン」と呼びましょう) に、特定のアイテムに関連付ける機能と関連付けない機能、およびアイテムのカテゴリ (複数のアイテム) に関連付ける機能が必要です。
  2. クーポンは、小計の一部または小計全体のいずれかに対して、一定額の割引または一定のパーセンテージ割引のいずれかを定義できる必要があります。
  3. 税金は、割引前の小計に基づいて計算する必要があります。他の方法を選択することもできますが、これは考慮すべき決定事項です。
  4. クーポンの開始日と終了日を指定できる必要があります。
  5. アイテム別およびユーザー別のクーポンの使用状況を追跡できる必要があります。ユーザーの抽象的なグループがある場合は、ユーザー グループごとにも追跡できるはずです。
  6. 他のアイテムの割引を得るために、割引されていないクーポン内の他のアイテムを要求できるはずです。This(お得Thatな半額タイプを購入)
  7. クーポンが有効になるまでのアイテムの最小数 (3 本のタイヤを購入すると 4 本目が無料になります!) と、これを適用できる最大回数 (望ましくない場合があります: 30 本のタイヤを購入すると、4 本目のタイヤが無料になります!) を定義できる必要があります。タイヤ10本無料!)
  8. 特定のクーポンを特定のユーザーまたはユーザー グループに限定することができます。その場合、この制限を強制する方法を見つける必要があります。

これを読むだけで、少なくとも 3 つのテーブルが表示されます。

CouponsItem_CouponsUser_Coupons

アイテムとユーザーのテーブルをクーポンにマップしますItem_Coupons。また、クーポンに必要なアイテムを定義するクーポンからアイテムへの別のマップUser_Couponsなど、作業を容易にする他のテーブルを含めることもできます。Coupons_RequiredItemsこれらのテーブルの構造は、これをどのように実装するかによって大きく異なります。

もちろん、個々のアイテムを X% 割引で提供することが唯一の目的である場合、これに従うのは複雑すぎますが、はるかに柔軟です。

于 2011-05-20T11:58:30.597 に答える
1

悪い方法:

switch($_GET['code']) {
  case "foo":
    $price -= $price * 0.1;
    break;
  case "bar":
    $price -= $price * 0.25;
    break;
  case "baz":
    $price -= $price * .33;
    break;
  default:
    break;
}

マッピング コード -> 割引をデータベースのどこかに保存し、そこから読み取る方がよいでしょう。

于 2011-05-20T11:22:44.483 に答える