0

さまざまなユーザー グループにカタログ価格ルールを使用する Magento 1.4.1.1 をインストールしています。

残念ながら、ルールは 2 ~ 3 日後には適用されません。

http://mandagreen.com/fixing-catalog-price-rules-cart-issue-in-magento-1-4-1-0/で説明されているように、次の修正を行いました 。

これにより、ルールがカタログに表示されなくなりました。

次の行 105 を変更します。

アプリ/コード/ローカル/メイジ/CatalogRule/モデル/Observer.php

に:

    $gId = $product->getCustomerGroupId();

これにより、特定の顧客グループを持つユーザーがログインしたときにルールが表示されるようになりました。

ただし、ルールは 2 ~ 3 日以上適用されません。管理画面に入らない限り、Catalog Price Rules に移動し、[Apply All] をクリックします。

また、次の目的でサーバーに cron ジョブを設定しました。

cron.sh
cron.php
indexer.php

すべてのカタログ価格ルールを具体的に適用する Cron ジョブを作成するにはどうすればよいですか?

4

1 に答える 1

0

まず第一に、コアコードを編集するべきではありません。

ルールが適用されていない場合は、cron-y が発生しています。Cron は Catalog の価格ルールに必要なため、次のように適切に設定されていることを確認してください。

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

これで問題が解決しない場合は、追加のコードを頻繁に cron するモジュールを作成できると思いますが、cron が正しく有効になっている場合は、これを行う必要はありません。

その道をたどりたい場合は、Magento での cron は非常に簡単です。

モジュールを作成します。その方法がわからない場合は、ここから始めて、手順を進めてください。

次に、オブザーバー ファイルを作成します: {{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 に答える