Tôi đã có vấn đề này rất giống so với tuần trước. Sử dụng phương pháp -> setOriginalCustomPrice là tốt cho một trang tiền tệ duy nhất, nhưng với chuyển đổi tiền tệ, độ cứng của nó có nghĩa là bạn cần phải cập nhật các mặt hàng giỏ hàng và giá niêm yết mỗi khi đồng tiền được chuyển đổi, điều này rất không hiệu quả theo ý kiến của tôi.
Tôi đã đưa ra một giải pháp thanh lịch hơn. Tạo một mô-đun và trong phần mô hình của cấu hình của bạn thêm này;
<models>
<catalog>
<rewrite>
<product>PixieMedia_CustomPrice_Model_Product</product>
</rewrite>
</catalog>
</models>
Counter trực quan, hàm main -> getFinalPrice nằm trong mô hình sản phẩm chứ không phải mô hình giá.
Bây giờ, tạo mô hình Product.php mới của bạn trong /app/code/local/Namespace/Module/Model/Product.php
class PixieMedia_CustomPrice_Model_Product extends Mage_Catalog_Model_Product {
public function getFinalPrice($qty=null)
// REWRITTEN FUNCTION TO RETURN THE SPECIAL PRICE AND ENSURE CURRENCY CONVERSION
{
$qBreak = false;
$customPrice = Mage::Helper('pixiemedia_customprice')->getCustomerPrice($this);
if($qty) {
$qBreak = $this->getQtyBreakPrice($this->getSku(),$qty,$customPrice[0]);
}
if($qBreak) { return $qBreak; } else { return $customPrice[0]; }
}
}
Về dự án cụ thể tôi đã làm việc trên, khách hàng là sử dụng nhiều danh sách giá cho giá cụ thể của khách hàng, phạm vi mà sẽ làm cho Magento khủng khiếp chậm để định giá chỉ số. Vì vậy, chúng tôi đã tải tất cả dữ liệu vào bảng tùy chỉnh và thực hiện tra cứu để trả lại giá chính xác của khách hàng hoặc số lần chia nhỏ.
Thật dễ dàng để móc logic của riêng bạn và trả lại giá bao giờ bạn muốn. Điều này hoàn toàn hỗ trợ chuyển đổi tiền tệ, vì vậy không cần phải fiddle xung quanh giá chuyển đổi lại.
Hy vọng điều này sẽ giúp ai đó ra ngoài. Hãy tận hưởng :)
tôi có cùng một vấn đề ở đây, bất kỳ giải pháp nào bạn tìm thấy? –
Xin chào @Guillaume, tôi có cùng một vấn đề. Bạn đã tìm thấy giải pháp nào chưa? xin vui lòng chia sẻ ở đây. –