カタログ価格ルールは真夜中に停止します


7

開始日が2014年6月25日、終了日が2014年6月30日の製品グループのカタログ価格ルールがあります。このルールは、2014年6月29日の深夜に機能を停止します。これは毎週月曜日の夜まで利用可能であるはずのキャンペーンで発生します。Cronは毎分実行されています。誰もが彼らが前日に仕事をやめる理由を知っていますか?

回答:


4

以前、カタログの価格ルールのインデックス再作成で多くの問題がありました。
私の最新の解決策(これは機能するように縫い合わせています)は、カタログルールの再インデックス付けのためのcronが実行される時間を変更することでした。
これが理由です。
GMT + 2のタイムゾーンを使用しています。
デフォルトのcronは1.00で実行するように設定されています。
そこで、cronがいつ開始し、いつ終了するかを確認するためにログを記録しました。
私が驚いたのは、次のことです。

2014-06-06T23:00:02+00:00 DEBUG (7): Start daily update
2014-06-06T23:00:05+00:00 DEBUG (7): End daily update

したがって、ログに記録された時間はGMT時間(23.00)でした。
そしてcronは、次のように再インデックスを実行する日付を計算します。

$fromDate = mktime(0,0,0,date('m'),date('d')-1); 

したがって、内部の日付メソッドは使用しませんdateが、タイムゾーンの設定に関係している可能性があると直接思いました。
そこで、自分のタイムゾーンとGMTタイムゾーンが同じ日になっているときに、cronを1時間で実行するようにしました。
2:10に移動しました。
それ以来、何の問題もありませんでした。


こんにちは@marius、ここをチェックしてください:prntscr.com/7535c7また、私はGMT + 5:30のタイムゾーンを使用していて、カタログ価格ルールで日付を指定していません。だから私は解決策を得るために何をしなければならないのですか?
2015年

コードを変更したファイルとパスを教えてください。
Magentoの赤ちゃん、

1
@ BabyinMagento2。cronがいつ実行されるかを決定するファイルapp/code/core/Mage/CatalogRule/etc/config.xmlは、次の行を探します<cron_expr>0 1 * * *</cron_expr>
Marius

それは結構です、私はそれをこのコードに追加する必要がある行を得ました: "$ fromDate = mktime(0,0,0、date( 'm')、date( 'd')-1);" または私が今しなければならない変更は何ですか?
2015年

1
どこにもその行を追加する必要はありません
マリウス

1

技術的には00:00:00 30/06/14に終了します。その形式で日時文字列に時間を追加するか、1日ずつ上げてみてください。終了日を30/06/14に設定するだけで、23:59:00 29/06/14(30/06/14の最初の分(00:00:00)の1分後)にプロモーションが終了するようにシステムに指示します。 。


1

構成のタイムゾーンをGMTに変更します。ここでカタログルールを適用します。

必要に応じて、タイムゾーンを目的の選択に戻します。同じルールを使用するファッションストアwww.huzoorwomen.comがあります。


0

デフォルトのストアのタイムゾーンをサーバーのタイムゾーンと一致するように設定してみてください。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


0

私にもこの問題がありました。この問題は、ローカルタイムゾーンのオフセットが+01:00より大きい場合に発生します。

基本的には、magentoがルール日付にgmtTimestampを使用しているため、上記のケースでは今日の前日になります。

そのため、問題を修正するための小さなモジュールhttps://github.com/Chuvisco88/Chuvisco_CatalogRuleFixを開発しました。誰かがこの問題を抱えている場合は、試してみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.