获取magento中的所有站点产品ID
现在,我想获得我的网站的所有产品ID。有没有一种简单的方法可以获取我的magento站点中的所有产品ID,或者如果您可以访问命令行,请运行获取magento中的所有站点产品ID,magento,Magento,现在,我想获得我的网站的所有产品ID。有没有一种简单的方法可以获取我的magento站点中的所有产品ID,或者如果您可以访问命令行,请运行mysql-u您的用户名-p magento\u数据库,然后您可以运行此查询: foreach(Mage::getModel('catalog/product')->getCollection() as $product) { var_dump($product->getId()); } 从目录产品实体中选择实体标识、sku不要忘记,您可
mysql-u您的用户名-p magento\u数据库
,然后您可以运行此查询:
foreach(Mage::getModel('catalog/product')->getCollection() as $product)
{
var_dump($product->getId());
}
从目录产品实体中选择实体标识、sku代码>不要忘记,您可能需要限制0,30或之类的东西,其中sku为“%shirt%”
。您可以通过命令行或从phpmyadmin(如果可用)获取此信息。phpmyadmin的某个地方有一个查询窗口
我通常在Magento中通过在var/export/
文件夹中创建php脚本来做一些鬼鬼祟祟的事情。这样,您就不必担心如何与Magento/Zend/MVC框架交互。或者如果您可以访问命令行,请运行mysql-u您的用户名-p Magento\u数据库
,然后您可以运行以下查询:
从目录产品实体中选择实体标识、sku代码>不要忘记,您可能需要限制0,30或之类的东西,其中sku为“%shirt%”
。您可以通过命令行或从phpmyadmin(如果可用)获取此信息。phpmyadmin的某个地方有一个查询窗口
我通常在Magento中通过在var/export/
文件夹中创建php脚本来做一些鬼鬼祟祟的事情。这样,您就不必担心如何与Magento/Zend/MVC框架交互。为了节省资源,最好使用:
Mage::getModel('catalog/product')->getCollection()->getAllIds();
为了节省资源,最好使用:
Mage::getModel('catalog/product')->getCollection()->getAllIds();
如果您的所有产品id都来自特定类别,则变化不大:
$category_ids = array(11,16); // your category ids
$productIds = array();
foreach($category_ids as $category_id){
$category = Mage::getModel('catalog/category')->load($category_id);
$result = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category)->getAllIds();
$productIds = array_merge($productIds,$result);
}
var_dump($productIds);
如果您的所有产品id都来自特定类别,则变化不大:
$category_ids = array(11,16); // your category ids
$productIds = array();
foreach($category_ids as $category_id){
$category = Mage::getModel('catalog/category')->load($category_id);
$result = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category)->getAllIds();
$productIds = array_merge($productIds,$result);
}
var_dump($productIds);
是的,我知道Mage::app('default')的含义;它使用存储代码“default”初始化存储应用程序对象(Mage_Core_Model_App),并返回相同的对象。如果应用程序对象已经初始化,它只返回应用程序对象。这种解决方案资源非常昂贵。这样,您就可以在目录中添加所有产品的水合物,只需获得ID即可。使用foreach,您的内存消耗将增加一倍。我知道这是一个信息丰富的答案,不是一个解决方案,但可能值得对此进行明确说明,不是吗?是的,我知道Mage::app(“默认”)的含义;它使用存储代码“default”初始化存储应用程序对象(Mage_Core_Model_App),并返回相同的对象。如果应用程序对象已经初始化,它只返回应用程序对象。这种解决方案资源非常昂贵。这样,您就可以在目录中添加所有产品的水合物,只需获得ID即可。使用foreach,您的内存消耗将增加一倍。我知道这是一个信息丰富的答案,不是一个解决方案,但也许值得对此进行明确说明,不是吗?