2011-08-12 49 views
6

Đầu tiên tôi muốn tạo thuộc tính mới. Hãy gọi nó là "Yếu tố giá." Giá trị nguyên có thể được đặt từ trang sản phẩm trên bảng điều khiển quản trị.Cách tạo thư tùy chỉnh trong Magento khi người dùng thêm mục vào giỏ hàng?

Trên giao diện người dùng, bất cứ khi nào người dùng thêm mục vào giỏ hàng, thông báo sẽ xuất hiện trong túi mua sắm và nói "Giá cũ của bạn là X và giá mới của bạn là Y" (trong đó X là giá gốc và Y là giá được điều chỉnh.)

Tôi sẽ tạo thông báo tùy chỉnh khi ai đó thêm thứ gì đó vào giỏ hàng của họ?

Trả lời

12

Điều đầu tiên bạn cần làm là lắng nghe sự kiện được kích hoạt khi một mục được thêm vào giỏ hàng. Điều này được gọi là checkout_cart_add_product_complete và bắt nguồn từ Mage/Checkout/controllers/CartController.php.

Chữ ký của sự kiện đó là công văn là:

Mage::dispatchEvent('checkout_cart_add_product_complete', 
    array(
     'product' => $product, 
     'request' => $this->getRequest(), 
     'response' => $this->getResponse() 
    ) 
); 

Chúng ta có thể truy cập vào các sản phẩm đã được thêm vào giỏ qua biến sản phẩm. Điều đó có nghĩa là chúng tôi có thể đánh giá liệu chúng tôi có cần hiển thị thông điệp mới của chúng tôi hay không, dựa trên thuộc tính của bạn.


Bước tiếp theo là thêm thông báo flash vào trang. Điều này được kiểm soát thông qua các phiên. Có ba loại thông điệp có thể được sử dụng: thành công, lỗi và thông báo. Thêm tin nhắn rất đơn giản:

Mage::getSingleton('core/session')->addSuccess($message); 
Mage::getSingleton('core/session')->addError($message); 
Mage::getSingleton('core/session')->addNotice($message); 
Các vấn đề liên quan