我是magento的新手,我想从数据库中获取已启用的产品。我需要的字段是: 产品名称,价格,SKU和数量。
我对magento表格结构并不了解。是否可以从管理面板或如果有人有一个SQL查询它将真的很有帮助。谢谢
答案 0 :(得分:1)
试试这个 -
SELECT entity_id FROM `catalog_product_entity_int`
WHERE attribute_id = (
SELECT attribute_id FROM `eav_attribute`
WHERE `attribute_code` LIKE 'status'
) AND `catalog_product_entity_int`.value = 1
源 - https://magento.stackexchange.com/questions/83030/how-to-list-all-disabled-products-with-sql
另见这篇文章> How to pull all the product id, skus, product names, description in magento using only mysql?
答案 1 :(得分:1)
使用后端:
您可以从管理员导出所有已启用的产品。您可以从顶部导航System
>>导出此内容Configuration
>> Import/Export
>> Dataflow - Profiles
。
在Dataflow - Profiles
中,您会看到Export Product Stocks
个人资料。您可以在Field Mapping
中设置必填字段,以导出具有所需属性的产品。
使用代码:
您可以在magento安装根目录中创建独立脚本,并添加以下代码:
define('MAGENTO_ROOT', getcwd());
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
require_once $mageFilename;
Mage::app();
$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection->addAttributeToSelect('name');
$productCollection->addAttributeToSelect('price');
$productCollection->addAttributeToSelect('sku');
$productCollection->addAttributeToSelect('qty');
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($productCollection);
foreach($productCollection as $_product) {
$qty = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
echo $_product->getName() .'<br />';
echo $_product->getSku() .'<br />';
echo $_product->getPrice() .'<br />';
echo $qty .'<br />';
echo '<hr />';
}