Lý lịch
Tôi đang phát triển một mô-đun tạo ra một vài thực thể tùy chỉnh có liên quan / tác động đến các tùy chọn có sẵn cho một sản phẩm cụ thể. Đây là cách nó hoạt động:
Khi tải sản phẩm, truy vấn được thực hiện trên các thực thể tùy chỉnh của tôi bằng hai thuộc tính của sản phẩm.
Tôi sử dụng kết quả của truy vấn và trình bày nó theo cách 2 bước, như thế này (lựa chọn đầu tiên của khách hàng tác động đến các tùy chọn có sẵn cho lần thứ hai của họ):
Các thách thức
Đây là những gì tôi biết tôi cần phải hoàn thành trên frontend:
1. Ghi đè hai phần logic trong Chế độ xem sản phẩm.
--- Đầu tiên:
<form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
... bạn sẽ enctype="multipart/form-data"
chỉ nhận được thêm nếu $_product->getOptions()
có true
, và các sản phẩm của tôi sẽ không thực sự có chúng (vì vậy điều này sẽ trở lại false
).
--- Thứ hai:
<?php if ($_product->isSaleable() && $this->hasOptions()):?>
<?php echo $this->getChildChildHtml('container1', '', true, true) ?>
<?php endif;?>
... cũng bởi vì các sản phẩm của tôi thực sự sẽ không có tùy chọn tùy chỉnh, vì vậy $this->hasOptions()
sẽ trả lại false
và ngăn kết xuất container1.
2. Thay thế / ghi đè / ghi đè 'container1' - khối con (có phải là khối không?) "Chứa" html cho các tùy chọn tùy chỉnh, như được hiển thị ở đây:
Tôi đã đọc một vài bài đăng cho rằng sao chép view.phtml
và chỉnh sửa trực tiếp nó không phải là cách chính xác để làm điều này, nhưng đâu là sự thay thế?
Thứ hai, tôi đã đọc Tôi có thể remove
hoặc unSet
một container1
phần - tôi nên sử dụng phương pháp nào, và sau đó làm thế nào để tôi thay thế chính xác container1
?
Cảm ơn rât nhiều!
catalog.xml
với nó với cácPRODUCT_TYPE_xxxxxx
tay cầm?