Tùy chỉnh / danh mục tìm kiếm / bộ lọc


7

Trước đây tôi phải nói: Tôi có tổng cộng n00b trên Magento và những gì tôi cần biết là nhiều hơn "thông lệ" hoặc "tiêu chuẩn" về cách đạt được điều gì đó ở Magento, vì tôi phải duy trì (trong thời gian kỷ lục) Phân phối Magento (có lẽ các nhà phát triển trước đó đã tạo ra một cách bẩn thỉu để làm những gì tôi sẽ yêu cầu, nhưng nếu tôi không biết các cách tiêu chuẩn, tôi thậm chí sẽ ít có cơ hội đoán những cách bẩn hơn). Đối với lời giải thích dưới đây, tôi không mong đợi bạn đánh vào móng tay, nhưng hãy cho tôi một số hướng dẫn về.

Hãy xem nào...

Khi tôi gửi một truy vấn tìm kiếm tiêu chuẩn tới /index.php/catalogsearch/result/?q=, tôi thấy các sản phẩm không có ở nhiều "tiểu bang". Theo "trạng thái", ý tôi là các giá trị rời rạc của thuộc tính "estado" (thuộc tính tùy chỉnh cho Sản phẩm của tôi).

Như tôi có thể thấy, các Sản phẩm có giá trị nhất định cho "estado" không được hiển thị trong kết quả (ngay cả khi Hiển thị được đặt để đưa các sản phẩm đó vào kết quả Tìm kiếm).

Câu hỏi : Có nơi nào tôi có thể thiết lập bộ lọc tùy chỉnh để sử dụng cho danh sách sản phẩm của mình (như được lấy từ truy vấn tìm kiếm) để tôi chỉ có thể giữ các sản phẩm ở một trạng thái nhất định không? Magento hỗ trợ gì, theo tiêu chuẩn, liên quan đến điều đó?

Đối với "địa điểm", ý tôi là một tùy chọn trong phần phụ trợ của Quản trị viên hoặc, như là tùy chọn cuối cùng, một đoạn mã, sự kiện, gọi lại, hook, chặn, phần mềm trung gian hoặc bất cứ điều gì (Tôi là n00b vì vậy tôi không biết đúng thuật ngữ được sử dụng trong magento) được sử dụng trong các trường hợp này để chặn truy vấn.

Ghi chú : Trong ứng dụng / thiết kế / frontend / caramel / template / catalog / sản phẩm / list.phtml các dòng đầu tiên trước khi lặp là:

<?php
    $_productCollection=$this->getLoadedProductCollection();
    $_helper = $this->helper('catalog/output');
?>
<?php if(!$_productCollection->count()): ?>
<p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
<p>No encontraste lo que buscabas, <a href="<?php $_SERVER['HTTP_HOST']?>/index.php/pidenos?tipo=pidenos">p&iacute;denos</a> y lo buscamos por ti.</p>
<?php else: ?>
<!-- more code here ... -->

Và như tôi có thể thấy, bộ lọc không được áp dụng ở đây mà nó đến từ một nơi khác và tôi muốn biết nó đến từ đâu (thường).


1
Một tumbleweed khác cho tôi :(
Luis Masuelli

Câu trả lời:


0
app/design/frontend/caramel/template/catalog/product/list.phtml

tại tập tin này, bộ sưu tập kết quả đầu ra magento với tất cả các bộ lọc, sắp xếp, phân trang, v.v.

app/code/core/Mage/CatalogSearch/Model/Layer.php
method prepareProductCollection

magento chọn 'bộ sưu tập rõ ràng (phương thức get SẢNtCollection) và sau đó áp dụng bộ lọc danh mục tìm kiếm (trong điều kiện) cho bộ sưu tập này và bộ sưu tập tuyến đường để điều hướng lớp.

** bạn có thể sử dụng <?php echo $_productCollection->getSelect() ?>trong mẫu để xuất truy vấn sql hiện tại vào cơ sở dữ liệu

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.