我继承了一个老开发人员负责的 Magento 项目。由于 Magento 经验非常有限,我想了解产品系列和catalog/product
模型是如何工作的。
具体来说,我想知道为什么集合和产品对象如此庞大?
我有这样的代码:
<?php $_productCollection = $this->getLoadedProductCollection(); ?>
<?php foreach ($_productCollection as $_product): ?>
<?php $_product = Mage::getModel( 'catalog/product' )->load( $_product->getId() ); ?>
<?php print $this->getLayout()->createBlock('mymodule_name/category_products_item')->setProduct($_product)->toHtml() ?>
<?php endforeach ?>
当我这样做print_r($_productCollection)
或print_r($_product)
获得大量数据时,我真正想要的只是一些产品属性(ID、名称、价格、图像 URL 等)。
我习惯了一个自定义的关系数据库平台,如果我需要使用产品,我会做一些超简单的事情,比如SELECT id,name,price FROM products;
!我完全不确定如何在 Magento 中实现这一点。我要创建自定义模型还是什么?
所以谁能告诉我:
1)为什么上面的物体这么大?
2)如果我只需要一些产品属性(如上),那么有没有办法将对象限制为仅这些属性以减小它们的大小?
3) 以这种方式使用对象是否会对性能或内存造成影响?
非常感谢!