【发布时间】:2012-10-17 14:46:23
【问题描述】:
我继承了一个老开发人员负责的 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) 以这种方式使用对象是否会对性能或内存造成影响?
非常感谢!
【问题讨论】:
标签: php mysql magento entity-attribute-value