0
我使用在代碼中創建一個Drupal Commerce產品如下:如何以編程方式創建一個Drupal Commerce產品與價格
$cp = commerce_product_new('product');
$cp->is_new = TRUE;
$cp->revision_id = NULL;
$cp->uid = 1;
$cp->status = 1;
$cp->created = $cp->changed = time();
$cp->sku = $product[sku];
$cp->title = $product[name];
$cp->language = LANGUAGE_NONE;
$cp->commerce_price->amount = $product[sale_price] ? $product[sale_price] : $product[retail_price];
$cp->commerce_price->currency_code = 'USD';
commerce_product_save($cp);
如果我註釋掉關於價格的兩條線,該產品被添加,但沒有價格。
如果我不註釋掉兩行,我得到一個500錯誤
如果我改變定價部分是:
$cp->commerce_price = array(
'amount' => $product[sale_price] ? $product[sale_price] : $product[retail_price],
'currency_code' => 'USD',
);
我不明白的500,但是我得到的添加消息
Warning: Invalid argument supplied for foreach() in _commerce_price_field_serialize_data() (line 148 of commerce/modules/price/commerce_price.module).
每個產品,結果是被添加和提供的產品,但在field_data_commerce_price表中沒有價格信息,其中任何一個。