私はかなり初心者のプログラマーですが、私がやろうとしていることと、これまでに行ったことは次のとおりです。
私が欲しいもの:
製品のバリエーションの選択から構築された最終的な SKU をカートに入れようとしています。
たとえば、最初の商品が「Shovel」で、その SKU が「SHO」の場合、カートのバリエーションの選択 SKU 番号が末尾に追加されます。
バリアントの 1 つが次の場合:
ハンドルの色 -- 緑のハンドル (SKU1 の SKU の場合) -- 黄色のハンドル (SKU2 の SKU の場合)
最終的な SKU は、SHO - 緑が選択された場合は SKU1、SHO - 黄色が選択された場合は SKU2 になります)
これにより、カートに渡すセッション変数が作成され、カートにこの変数が表示され、それを電子メール通知または後で必要なものに渡すことができます。
私がやったこと:
私は、custom_sku 列を、カートのバリアント データに追加しました。また、このフィールドを管理者テーブル フォルダー (/administrator/components/com_virtuemart/tables) の customs.php ファイルに追加しました。
このフィールドはデータベースに更新され、カート バリアント オプションを追加するたびに、customfield_id の行の「custom_sku」列に SKU が追加されます。
スクリーンショット: http://awesomescreenshot.com/02e1sfsef9
また、customfields.php (administrator/components/com_virtuemart/models) の関数 getProductCustomsFieldCart を変更して、これをオプションのドロップダウン値に追加しました。
値は次のようになります:「バリアント値 - $1.00 - SKU1」
行き詰まっていること: この SKU 値、またはオプションの値をカートに渡し、これを注文の残りの部分に使用できるようにする必要があります。
これはおそらく次のようなセッション変数で行う必要があります: sessionSKUselect = "20" ここで、20 はカスタム フィールド ID であるため、カートのクエリでこれを使用できます。
これは、機能する限り、配列内のセッション変数に出力することもできます。
現在、次のようなフォームを介して渡される変数があります: "customPrice[0][1]" (数字は、選択リストとそのバリアント グループ (選択リスト) に関連しています)
customPrice[0][1] には customfield ID の値があります (データベース値の単なる数字です。最終的な SKU を照会するには、この値を配列にするか、カートでこの配列を使用できるようにする必要があります。番号。
誰かが私が何をする必要があるか知っていますか? ありがとう!