Chọn nhiều mục trong điều hướng lớp (nhiều lựa chọn / hộp kiểm)


12

Làm thế nào để bạn chuyển đổi các định lớp tiêu chuẩn để sử dụng hộp kiểm hoặc nhiều chọn đầu vào cho các thuộc tính của kiểu thả xuống hoặc multiselect ?

Ví dụ: nếu người dùng chọn màu xanhđỏ cho thuộc tính màu, điều hướng lớp sẽ hiển thị tất cả các mục khớp với màu xanh HOẶC màu đỏ.

Xem ví dụ trên thanh công cụ trên trang này:


Làm thế nào bạn đi với cái này? Bạn đã quyết định sử dụng cái gì?
jharrison.au

@ jharrison.au .. Vâng, tôi đã thay đổi chọn thả xuống vào MÀU SẮC VÀ SẮC. Nó chưa nhiều.
Alizain Prasla

Câu trả lời:


10

Có nhiều tiện ích mở rộng sẽ cung cấp cho bạn chức năng này (tìm kiếm "điều hướng lớp nâng cao"). Tôi đã thử tất cả các tiện ích mở rộng được liệt kê bên dưới nhưng yêu thích của tôi là bởi Nhóm thương mại điện tử - Tôi thích nó vì bản chất tối giản của nó, nó không cố gắng làm quá nhiều nhưng rất mạnh mẽ và hoạt động tốt. Nó cũng có hỗ trợ cho các mẫu màu như bạn mô tả.

Một số người khác không theo thứ tự cụ thể:

  1. http://amasty.com/improved-navulation.html
  2. http://www.aitoc.com/en/magentomods_layered_navlation_pro.html
  3. http://www.manadev.com/seo-layered-navulation-plus
  4. http://www.gomage.com/extensions/eimage-advified-navlation.html

Lưu ý rằng những điều này có thể gây ra xung đột với các mô-đun bên thứ ba khác.


Nếu bạn chủ yếu tìm cách làm điều này với các mẫu màu, tôi khuyên bạn nên xem phần mở rộng này của Chad Morgan.


Đây là một bài viết của Inchoo về việc giữ cho các bộ lọc không sử dụng hiển thị.


Nếu bạn đang tìm cách tự viết mã này thì tôi nghĩ câu trả lời cho câu hỏi của bạn có thể quá dài cho diễn đàn này. Tôi không có liên kết đến bài đăng trên blog / hướng dẫn dạy bạn cách thực hiện việc này nhưng tôi khuyên bạn nên bắt đầu với việc mở rộng các khối điều hướng lớp.


6
Tôi đã sử dụng mô-đun Amasty và khuyên bạn nên kiểm tra nó. Tuy nhiên, mô-đun Aitoc, tôi sẽ không chạm vào cực 10 '... hoặc bất kỳ mô-đun nào của chúng cho vấn đề đó.
davidalger

Mô-đun Amasty sẽ không hoạt động với bất kỳ thuộc tính tùy chỉnh nào sử dụng nguồn được hỗ trợ bởi mô hình eav tùy chỉnh. Đây là một vấn đề đối với chúng tôi vì các thuộc tính của chúng tôi được đưa vào thông qua api bên ngoài.
greatwitenorth

8

Nếu bạn chỉ quan tâm đến việc chuyển đổi điều hướng lớp mặc định để kiểm tra các hộp, giải pháp rất dễ dàng và đặt nó ở đây.

Chỉnh sửa mã của app/design/frontend/ourpackage/ourtheme/template/catalog/layer/filter.phtmltập tin như sau:

<ol>
<?php foreach ($this->getItems() as $_item): ?>
    <li>
        <?php if ($_item->getCount() > 0): ?>
            <form>
                <span class="check-box">
                    <input type="checkbox" name="vehicle" onclick='window.location.assign("<?php echo $this->urlEscape($_item->getUrl()) ?>")'/>
                </span>
                <a href="<?php echo $this->urlEscape($_item->getUrl()) ?>">
                    <?php echo $_item->getLabel() ?>
                    <?php if ($this->shouldDisplayProductCount()): ?>
                    <span class="count">(<?php echo $_item->getCount() ?>)</span>
                    <?php endif; ?>
                </a>
            </form>
        <?php else: ?>
            <form>
                <span class="check-box">
                    <input type="checkbox" name="vehicle" onclick='window.location.assign("<?php echo $this->urlEscape($_item->getUrl()) ?>")'/>
                </span>
                <span>
                    <?php echo $_item->getLabel(); ?>
                    <?php if ($this->shouldDisplayProductCount()): ?>
                        <span class="count">(<?php echo $_item->getCount() ?>)</span>
                    <?php endif; ?>
                </span>
            </form>
        <?php endif; ?>
    </li>
<?php endforeach ?>
</ol>

Giải pháp là phiên bản cải tiến này . Vì vậy, tín dụng cho người này là tốt.

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.