1

プログラムによるカートのレクリエーションで遊んでいます。IDでカートに商品を追加しても問題ありません。

 $params = array(
    'product' => 272,
    'super_attribute' => array(
        22 =>30 ,
    ),
    'qty' => 2,
);


$cart = Mage::getSingleton('checkout/cart'); 
$product = new Mage_Catalog_Model_Product();
$product->load(272); 
$cart->addProduct($product, $params);
$cart->save(); 
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

しかし、製品の sku しか知らない場合の方法、つまり、構成可能な製品の製品 ID と super_attributes を取得する方法を意味します。

Mage::getModel('catalog/product')->loadByAttribute('sku','$sku');

その製品(sku)情報のみを返し、special_attributeは返さないようです。

何か案は?

乾杯、/マルシン

4

3 に答える 3

0

SKUでフィルタリングされたコレクションを取得することで、製品を取得できます。

$searchForThisSku = 'p_1234';

/** @var $productCollection Mage_Catalog_Model_Resource_Product_Collection */
$productCollection = Mage::getModel( 'catalog/product' )
    ->getResourceCollection()
    ->addFieldToFilter( 'sku', $searchForThisSku );

/** @var $product Mage_Catalog_Model_Product */
$product = $productCollection->getFirstItem();

// you should have the product now, maybe it isn't even necessary to get the ID
$product->getId();

// all in one line:
$productId = (int) Mage::getModel( 'catalog/product' )
    ->getResourceCollection()
    ->addFieldToFilter( 'sku', $searchForThisSku )
    ->getFirstItem()
    ->getId();
于 2012-07-16T17:11:16.347 に答える
0

試す

/** @product Mage_Catalog_Model_Product */
$product = Mage::getModel('catalog/product');

$sku = 'sku';
$product->load($sku, 'sku');
于 2012-07-16T20:15:30.217 に答える