製品をエクスポートするには、Magento プラグインを開発する必要があります。他のプラグインが既に存在することは知っていますが、それを行う必要があります。
製品のエクスポートはそれほど難しくありません。私はそのようなものを使用します (要約) :
public function __construct()
{
$this->_productModel = Mage::getModel('catalog/product');
//Other actions ..
}
public function _toHtml()
{
$products = $this->_productModel->getCollection()
->addStoreFilter($storeId)
->addAttributeToFilter('type_id',array('in'=>$_types))
->joinTable('cataloginventory/stock_item', 'product_id=entity_id', array('qty'=>'qty','is_in_stock' => 'is_in_stock'), $this->_getStockSQL(), 'inner');
foreach($product_list as $product)
{
$_p = $this->_productModel->load($product);
$p = $_p->getData();
//Export data, parse and return it ..
}
}
ご覧のとおり、プライベート変数を使用して Mage::getModel('catalog/product') オブジェクトをストックしています。多くのリソースを消費するたびにこのメソッドを呼び出すことを考えました。それがこの変数を格納したかったことです。
しかし、このプロセスでは、製品が構成可能な製品の子である場合、データはデータであり、親のものです。
では、このオブジェクトをクリアできますか? Mage::getModel('catalog/product') と呼ばれ、多くのリソースが必要ですか? 子データを強制的にロードできますか?
ありがとう ;)