Làm thế nào để giá động hoạt động trong Magento?


8

Tôi tự hỏi làm thế nào giá động hoạt động trong Magento?

Ví dụ: tôi đã tạo sản phẩm trong phần phụ trợ và thêm một số tùy chọn tùy chỉnh cho nó. Vì vậy, nếu người dùng chọn tùy chọn, giá sẽ tự động thay đổi trên trang xem sản phẩm mà không cần tải lại trang.

Bất cứ ai có thể giải thích làm thế nào Magento thực hiện hành động này?

Và chúng ta có thể thêm giá động tùy chỉnh? Tôi muốn nếu người dùng nhấp vào liên kết (tôi đã thêm vào trang xem sản phẩm), sau đó thay đổi giá.

Câu trả lời:


10

Tính toán giá là một chủ đề rất phức tạp trong Magento. Dưới đây là một cái nhìn của một con chim về cách thực hiện cho một sản phẩm đơn giản:

  1. Magento được giá "cơ sở". Đây là giá bạn đã xác định trong cột giá
  2. Giá "nhóm" được áp dụng. Đây là phần mà giá tầng được xem xét dựa trên số lượng đặt hàng, trang web và nhóm khách hàng.
  3. Giá đặc biệt được áp dụng nếu một mức giá đặc biệt được xác định cho ngày hiện tại.
  4. Sự kiện " catalog_product_get_final_price " được kích hoạt. Đây là nơi mô-đun tùy chỉnh của bạn mà tinker với giá sẽ xuất hiện. Ví dụ hoạt động, mô-đun CatalogRule bắt sự kiện này và thay đổi giá dựa trên các quy tắc danh mục đã xác định
  5. Giá của các lựa chọn đã chọn được xem xét

Vì quá trình này cực kỳ tốn thời gian, Magento tạo ra một chỉ số giá và sẽ chỉ đi qua những điều trên khi reindexing. Chỉ số giá sử dụng một loạt các bảng có thông tin về giá "cuối cùng" (được tính bằng các bước ở trên) cùng với những thứ như giá tối thiểu / tối đa cho các cấu hình và gói. Bảng này có một mục nhập cho mỗi kết hợp nhóm trang web / sản phẩm / nhóm khách hàng, vì vậy hệ thống sẽ chỉ cần chọn hàng phù hợp dựa trên dữ liệu khách hàng, làm cho toàn bộ quá trình chạy trong thời gian thích hợp.

Về phần frontend, cách giá tăng và giảm động, tất cả đều được thực hiện trong javascript bắt đầu bằng một mảng json với tất cả "mức giá" và sẽ giảm / tăng giá dựa trên các lựa chọn của bạn.


Thanx Paul cho câu trả lời của bạn. Giá động Magento là một chủ đề phức tạp :)
Wakanina

sử dụng sự kiện "catalog_product_get_final_price" và setFinalPrice()thay đổi giá trong trang xem sản phẩm và các bước tiếp theo. Nhưng làm thế nào tôi có thể đặt giá động ngay từ trang danh sách sản phẩm?
Shathish

1

Điều này được thực hiện với Javascript và Ajax, nếu tôi đúng thì nó nằm trong tệp js / varien / configureable.js. Nếu bạn muốn thay đổi hành vi của điều này, bạn có thể sử dụng nguyên mẫu để mở rộng chức năng cụ thể. Tôi không giỏi với javascript nhưng tôi nghĩ bài viết Stackoverflow này giải thích những điều cơ bản về việc mở rộng /programming/2686258/javascript-inherribution-extend-feft


Cảm ơn Sander, điều này làm cho nó rõ ràng một chút :). Có ai có thể giải thích chi tiết hơn? Điều này sẽ có giá trị cho tất cả mọi người.
Wakanina
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.