開発中の e コマース Web サイトの SKU フォームによる製品の追加に取り組んでいます。基本的に「cod」と「qt」の2つのフィールドを持つフォームを作りました。
私はそれをこのスクリプトに渡しました(編集済み):
<?php
$sku = $_POST['cod'];
$qty = $_POST['qt'];
$product = new Mage_Catalog_Model_Product();
$cart = Mage::getSingleton('checkout/cart');
$osids = array();
foreach ($sku as $lol){
$lolz = Mage::getModel('catalog/product')->loadByAttribute('sku',$lol)->getId();
array_push($osids, $lolz);
}
var_dump($osids);
$params = array(
'qty' => 2,
);
$cart->addProductsByIds($osids, $params);
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
?>
var_dump は配列を正しく表示します。その場合は複数の sku を使用できますが、foreach ループは配列内の最初の sku のみをショッピング カートに追加します。
理由はありますか?
配列にすべての sku を追加したくありません。