Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 根据目录价格规则获取产品列表_Magento - Fatal编程技术网

Magento 根据目录价格规则获取产品列表

Magento 根据目录价格规则获取产品列表,magento,Magento,假设我创建了一个价格规则,所有价格超过1000卢比的产品都可以享受30%的折扣。现在我要做的是列出那些在目录价格规则下的产品,真奇怪,实际上没有简单的功能。我能想到的是,要获得所选产品的所有ID的列表,请执行以下操作: 仅当规则已应用时,此操作才有效。 找出规则的id。当您在规则编辑屏幕中时,您可以从url栏读取此信息 对数据库运行以下查询:从catalogrule_product中选择DISTINCT product_id,其中rule_id=替换为步骤1中找到的id 不过可能有更简单的方

假设我创建了一个价格规则,所有价格超过1000卢比的产品都可以享受30%的折扣。现在我要做的是列出那些在目录价格规则下的产品,真奇怪,实际上没有简单的功能。我能想到的是,要获得所选产品的所有ID的列表,请执行以下操作:

仅当规则已应用时,此操作才有效。

  • 找出规则的id。当您在规则编辑屏幕中时,您可以从url栏读取此信息
  • 对数据库运行以下查询:
    从catalogrule_product中选择DISTINCT product_id,其中rule_id=替换为步骤1中找到的id

不过可能有更简单的方法。

我一直在寻找同样的东西,找到了可以粘贴到列表中的以下代码。phtml,它显示了特定目录价格规则下的产品:

$rule = Mage::getModel('catalogrule/rule')->load(12);  /* catalog price rule id */
$rule->setWebsiteIds("1"); 
$productIdsArray = $rule->getMatchingProductIds(); 
$productsCollection = Mage::getModel('catalog/product')
                ->getCollection() 
                ->addAttributeToSelect("*") 
                ->addAttributeToFilter('visibility', 4)
                ->addAttributeToFilter("entity_id", array("in", $productIdsArray));
请确保在list.phtml的其余代码中更改价格规则id和$productsCollection

如果你能够拉所有的规则,请让我知道,一直在寻找一个解决方案的两天了