一時的なギフトカード機能を構築しようとしています

編集 When adding more than one of the same product to the cart, the qty obviously increases, but it is possible to treat one or more products separately. Ie, if i add product A twice, it shows up as two separate products in the cart? // end 編集

私は以下のことをしました。

1)チェックアウト時にorder_custom1と2が含まれています。私はギフトカード番号として機能するランダムな文字列を生成するために1を使用します。私はギフトカード(アイテムの合計)の価値を保存するために2を使用します。

2)カスタム項目は{items}タグのペアの内側にあるので、カート内の各商品(ギフトカード)ごとに複製されます。しかし、私はそれがそれぞれのカスタムフィールドの複数を提出することは不可能であると思うようになり、彼らは本当に{items}ペアの外にあるはずですが、これは正しいのですか?

注文の概要でカスタムフィールドを出力すると、最後のカスタムフィールド(1と2)に保存された値しか取得できないため、私が尋ねる理由があります。これは{items}のペアの中に出力しているにもかかわらずです。

編集

チェックアウトごとに1回しか提出できない場合は、特定のチャンネルの1つの商品を注文ごとにカートに入れる方法がありますか?言い換えれば、1人の注文に1つの「ギフトカード」しか許可されないようにすることができますか?

3

1 答え

修正します。オーダーカスタムフィールドはオーダーに属し、個々のラインアイテムではないため、すべてのアイテムで同じになります。

これにアプローチするより良い方法は、モディファイアを使用して個々の製品をカートに追加するときにランダムな文字列(ギフトカードトークン)を生成することです。ストアは重複した商品を常に1つの広告申込情報にマージしますが、修飾語が異なる場合はマージされません。

商品タグでカスタムテキスト修飾語句を使用すると、

{exp:store:product entry_id="123" input:code="Gift Code"}

    <input type="hidden" name="code" value="random-string" />
    <input type="hidden" name="item_qty" value="1" />
    <input type="submit" value="Add to Cart" />

{/exp:store:product}

顧客が価格を選択できるようにするには、公開ページでモディファイアを作成するか、価格ごとに一意の商品を作成するか、チャネル項目に「動的商品価格」を設定して、顧客に price フィールドに入力します。

カート内では、各商品に固有のコードが異なるため、請求書には個別の明細として表示されます。このメソッドを使用すると、注文カスタムフィールドを使用する必要はありません。

2
追加された
ディスカウントコードを「提出する」ということをどのように意味しますか?注文の代金を支払うときにそれを使用するか、実際にデータベースに登録しますか?
追加された 著者 ESV,
そうですか。はい、Storeでも作成する必要があります。これは、 exp_store_discounts データベーステーブルに追加するのと同じくらい簡単です。
追加された 著者 ESV,
ああ、優秀。請求書のコードを見ることはできますが、顧客注文概要(フロントエンドテンプレート)の{items}に出力できますか?私はそれが私がそれをしたい場所に提出するために、私はチャネル:フォームを使用することができますので、カートの項目の隣に出力することができますか?
追加された 著者 Oliver_C,
{modifiers} {modifier_value}
{/ modifiers}はこのトリックをやった
追加された 著者 Oliver_C,
これらは物理的なギフトカードに使用されますが、ボーナスとして、チャネルフォームで店舗に割引コードを提出する方法もありますか?
追加された 著者 Oliver_C,
それを使用するために作成する必要はありませんか?つまり、ディスカウントコードがチャネルエントリとして店舗になっているため、顧客が物理ストアで使用することができます(私はチャネル:フォームを使用しました)が、ディスカウントコードとして作成できるようになりましたストアでも同様に?
追加された 著者 Oliver_C,
非常に古いですが、私はこれに戻ります。そのテーブルにコードを追加して、ユーザーが単にカートを送信して支払いを完了できないようにする方法はありますか?
追加された 著者 Oliver_C,