0

製品を表示するテンプレートのオーバーライドがあります(いくつかのjqueryを使用)。カスタムの sendmail.php があり、選択した値が正しく送信されます。ただし、製品のカスタム フィールドの値ではありません。私は彼らに到達できません。sendmail.php では、次のフィールドを使用できます。

$userContact->shipname
$product->quantity
$product->product_parent_id ...

sendmail.php でこれを使用して、すべてのカスタム フィールド値を一覧表示できます。

foreach ($product->customfieldsCart as $field) {
echo $field->custom_value;
}

しかし、選択した値のみが必要です。通常の注文プロセスでは、invoice_items.php はうまく機能しています (57 ~ 51 行目)。

if (!empty($item->product_attribute)){
if(!class_exists 'VirtueMartModelCustomfields'))
require JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'customfields.php');
$product_attribute = 
VirtueMartModelCustomfields::CustomsFieldOrderDisplay($item,'FE');
echo $product_attribute;}  

Plsは私を助けてくれます、どうもありがとう

4

1 に答える 1

0

カスタム フィールドの選択された値を商品ビューの商品データから取得する方法はありません。あなたが言ったように、カスタム フィールドのすべてのオプションの値を取得できますが、製品データ配列には、どの値/オプションが選択されたかは保存されません。このデータは、カートまたは請求書配列からのみ取得できます。

あなたの場合、選択した値をjavascriptで取得し、それらをsendmail.php(ajax、json)に送信し、そのデータでメールを作成する必要があると思います。

于 2014-06-18T16:54:57.560 に答える