Quy tắc giá danh mục dừng lại vào nửa đêm


7

Tôi có một quy tắc giá danh mục cho một nhóm sản phẩm có ngày bắt đầu 25/06/14 và ngày kết thúc 30/06/14. Quy tắc này ngừng hoạt động vào nửa đêm 29/06/14. Điều này xảy ra vào mỗi cuối tuần cho các chiến dịch nên có sẵn cho đến tối thứ hai. Cron đang chạy mỗi phút. Bất cứ ai cũng có một manh mối tại sao họ ngừng làm việc trước một ngày?

Câu trả lời:


4

Tôi đã có rất nhiều vấn đề với các quy tắc giá danh mục reindexing trước đó.
Giải pháp mới nhất của tôi (rằng các đường nối hoạt động) là thay đổi giờ khi cron giới thiệu lại các quy tắc danh mục chạy.
Đây là lý do tại sao.
Tôi đang sử dụng múi giờ với GMT + 2.
Cron mặc định được đặt để chạy ở mức 1,00.
Vì vậy, tôi đặt một bản ghi để xem khi nào cron bắt đầu và khi nào nó kết thúc.
Tôi ngạc nhiên khi thấy những điều sau đây:

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

Vì vậy, giờ được ghi lại là giờ GMT (23:00).
Và cron tính toán ngày mà reindex nên được thực hiện như thế này:

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

Vì vậy, nó không sử dụng các phương thức ngày nội bộ nhưng datetôi nghĩ rằng nó có thể có liên quan đến cài đặt múi giờ.
Vì vậy, tôi đã thực hiện cron chạy vào một giờ khi múi giờ và múi giờ GMT của tôi ở cùng một ngày.
Đã chuyển nó sang 2:10.
Tôi đã không có bất kỳ vấn đề kể từ đó.


xin chào @marius, kiểm tra tại đây: prntscr.com/7535c7 tôi cũng đang sử dụng múi giờ với GMT + 5:30 và tôi đã không đưa ra bất kỳ ngày nào trong quy tắc giá của danh mục. Vì vậy, những gì tôi phải làm để có được giải pháp?
Em bé ở Magento

bạn có thể vui lòng thông báo cho tôi trong tập tin và đường dẫn bạn đã thay đổi mã đó không?
Em bé ở Magento

1
@ BabyinMagento2. Tập tin xác định khi cron chạy là app/code/core/Mage/CatalogRule/etc/config.xmlTìm dòng<cron_expr>0 1 * * *</cron_expr>
Marius

không sao, tôi đã nhận được dòng, trong đó tôi phải thêm mã này: "$ fromDate = mktime (0,0,0, date ('m'), date ('d') - 1);" hoặc những thay đổi tôi phải làm bây giờ?
Em bé ở Magento

1
bạn không cần thêm dòng đó ở bất cứ đâu
Marius

1

Về mặt kỹ thuật, nó sẽ kết thúc lúc 00:00:00 ngày 30/06/14. Hãy thử thêm thời gian vào chuỗi thời gian theo định dạng đó hoặc tăng thêm một ngày. Chỉ cần đặt ngày kết thúc thành 30/06/14 sẽ cho hệ thống kết thúc chương trình khuyến mãi vào phút sau 23:59:00 29/06/14, đó là phút đầu tiên (00:00:00) ngày 30/06/14 .


1

Thay đổi múi giờ trong cấu hình thành GMT. Áp dụng các quy tắc danh mục bây giờ.

Hoàn nguyên múi giờ trở lại lựa chọn mong muốn của bạn nếu cần. Tôi có một cửa hàng thời trang www.huzoorwomen.com sử dụng các quy tắc tương tự.


0

Hãy thử đặt múi giờ lưu trữ mặc định của bạn để khớp với múi giờ máy chủ của bạn.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


0

Tôi cũng gặp vấn đề này, vấn đề tồn tại khi có độ lệch của múi giờ địa phương lớn hơn +01: 00.

Về cơ bản chỉ vì magento đang sử dụng gmtTimestamp cho ngày quy tắc mà trong trường hợp đã nêu ở trên, kết quả trong ngày trước ngày hôm nay.

Do đó, tôi đã phát triển một mô-đun nhỏ https://github.com/Chuvisco88/Chuvisco_CatalogRuleFix để khắc phục sự cố. Nếu ai đó có vấn đề này, xin hãy thử xem.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.