magento:使用属性值加入产品

时间:2017-04-06 18:08:16

标签: sql magento collections product

我试图从php脚本列出我的一些产品,我需要获得一些属性的价值。例如,我尝试这样的事情::

Mage::app();
Mage::app()->setCurrentStore(1);
$collection = Mage::getModel('catalog/product')->getCollection()
   ->addAttributeToSelect('computer_type')
   ->joinAttribute('computer_type_value', 'eav/entity_attribute_option', "computer_type", null, 'left', 0)
来自产品系列商店的

"computer_type"option_id表的eav_attribute_option_value字段中找到的ID:

 +----------+-----------+----------+--------+
 | value_id | option_id | store_id |  value |
 +----------+-----------+----------+--------+
 |     3738 |        14 |        0 | server |
 +----------+-----------+----------+--------+

我想将此表与我的收藏结果一起加入,以获得价值" server"显示而不是id" 3738"但是我这样做的方式并没有奏效,尽管我都在搜索。

我没有找到如何在一个查询中实现这一点。有可能吗?

1 个答案:

答案 0 :(得分:-1)

请使用以下代码加入产品属性:

$mageFilename = 'app/Mage.php';
require_once $mageFilename;
umask(0);
Mage::app('admin');
Mage::register('isSecureArea', 1);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$collection = Mage::getModel('catalog/product')
         ->getCollection()
         ->addAttributeToSelect('*')
     ->addAttributeToFilter('computer_type',array('neq'=>0))
     ->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
         ->addAttributeToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);