【问题标题】:Magento 1.4.1.1 Catalogue Price Rules not staying appliedMagento 1.4.1.1 目录价格规则不适用
【发布时间】:2012-05-08 18:01:58
【问题描述】:

我安装了 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 作业以专门应用所有目录价格规则?

【问题讨论】:

    标签: php magento cron


    【解决方案1】:

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

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

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

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

    如果你真的想走这条路,在 Magento 中的 crons 非常简单

    创建一个模块。如果您不知道该怎么做,请Start here 并按照自己的方式完成。

    然后,创建一个观察者文件:{{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>
    

    【讨论】:

    • 啊,是的,抱歉,它确实创建了一个本地 Observer.php 并且没有编辑核心代码。我已经为 magento/cron.php 创建了 Cron,但是我正在等待几天看看问题是否仍然存在。
    猜你喜欢
    • 2011-05-26
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多