0

我安装了 Magento 1.4.1.1,它为不同的用户组使用目录价格规则。

不幸的是,这些规则在 2-3 天后不再适用。

我已经完成了以下修复,如下所述: http: //mandagreen.com/fixing-catalog-price-rules-cart-issue-in-magento-1-4-1-0/

这阻止了规则出现在目录中。

更改第 105 行:

app/code/local/Mage/CatalogRule/Model/Observer.php

至:

    $gId = $product->getCustomerGroupId();

这有助于在具有特定客户组的用户登录时显示规则。

但是,该规则不会持续应用超过 2-3 天。除非我进入管理员,否则请转到目录价格规则并单击“全部应用”

我还在我的服务器上设置了 cron 作业:

cron.sh
cron.php
indexer.php

如何创建 Cron 作业以专门应用所有目录价格规则?

4

1 回答 1

0

首先,你永远不应该编辑核心代码。

如果您的规则没有得到应用,那么 cron-y 就会发生一些事情。目录价格规则需要 Cron,因此请确保其设置正确,如下所示:

*/5 * * * * /absolute/path/to/bin/php -f /absolute/path/to/magento/cron.php

如果这不能解决您的问题,我想您可以编写一个模块来经常 cron 一些额外的代码,但如果正确启用了 cron,您不应该这样做。

如果您确实想走这条路,那么 Magento 中的 crons 非常简单

创建一个模块。如果您不知道该怎么做,请从这里开始并逐步完成。

然后,创建一个观察者文件:{{namespace}}/{{modulename}}/Model/Observer.php

在那个文件里面:

<?php

class <namespace>_<modulename>_Model_Observer {

  public function functionName() {
      // apply catalog price rules code here
  }

}

在模块的 etc/config.xml 中:

<config>
  ...
  <crontab>
    <jobs>
      <unique_cron_job_name>
        <schedule><cron_expr>* * * * *</cron_expr></schedule>
        <run><model>{{modulename}}/observer::functionName</model></run>
      </unique_cron_job_name>
    </jobs>
  </crontab>
  ...
</config>
于 2012-05-09T07:10:24.607 回答