Hiển thị sản phẩm của category bất kì ra ngoài trang chủ

Thảo luận trong 'Các lỗi thường gặp' bắt đầu bởi nguyenviet, 8 Tháng mười hai 2015.

  1. nguyenviet

    nguyenviet New Member

    Em mới làm quen với magento. E đã làm theo hướng dẫn về cách hiện thị sản phẩm của category bất kì ra ngoài trang chủ theo các bước:
    b1: vào admin -> cms -> pages -> home
    b2: vào mục content rồi cho dòng này vào (id category của em là 42)
    {{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="42" template="catalog/product/list.phtml"}}

    nhưng vẫn ko hiện thị ra ngoài trang home. Mọi người ai biết bảo em với ạ

    Bài viết khác cùng chuyên mục:

  2. Củi Khô37

    Củi Khô37 Member

    Trước mắt test xem là đã đúng page home chưa?
    Sau đó check xem đã nhận file catalog/product/list.phtml chưa?
    cuối cùng kiểm tra lại category có id 42 đã được active chưa?đã có sản phẩm chưa?
  3. nguyenviet

    nguyenviet New Member

    Cái này mình làm đc rồi, chưa khai báo catalog/product_list trong mục block của system/permssions.

    Mình giờ muốn lấy mô tả ngắn và phần mô tả của sản phẩm hiện thị ra thì như nào vậy? Hiện thị ra ngoài trang home chẳng hạn.
  4. admin

    admin Mai Văn Hải Staff Member

    Bạn gọi thêm bằng cách:
    Dùng câu lệnh sau cho thuộc tính dạng Dropdown
    Mã:
    <?php echo $_product->getAttributeText(’attribute_name’) ?>
    Dùng câu lệnh sau cho thuộc tính dạng text;
    Mã:
    echo  $_product->getData('attribute_code');
  5. nguyenviet

    nguyenviet New Member

    Thanks bạn nha, mình làm được rồi. Giờ mình muốn làm bộ lọc như thế này bạn có thể hướng dẫn mình với loc.png
  6. kennichi89

    kennichi89 Member

  7. nguyenviet

    nguyenviet New Member

    Thanks cậu. Phần giá thì có thể làm như vậy nhưng phần hãng sản xuất thì làm như vậy không ổn cho lắm
  8. nguyenviet

    nguyenviet New Member

    Mình vừa làm thử mà không được. Cậu có cách khác không?
    Mặc định của magento khi trang danh mục sản phẩm ở dạng 2 columns with left bar đã có phần tương tự như của mình (gồm lọc theo danh mục, giá). Nhưng khi mình chuyển sang 1 columns + chuyển và gọi hiện thị ra thì lại lỗi. Chỉ được có mỗi lọc danh mục, lọc giá cũng mất luôn. Lọc danh mục thì đường link lại trỏ về đúng trang danh mục đó :(
  9. kennichi89

    kennichi89 Member

    à mình đang làm cho bạn cái filter ở bên trái, lúc trước tưởng chỉ cần filter price thôi :).
    Nhưng mà rốt cuộc thì bạn muốn chuyển toàn bộ filter ở cột trái ra giữa hay là chỉ 1 vài attribute thôi?
    Nếu bạn muốn chuyển hết mấy cái filter ở cột trái ra giữa và chuyển thành dropdown thì mình chuyển luôn block layer khai báo bên cột trái sang block content:
    Mã:
    <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
    sửa luôn template của các attribute để chuyển sang dropdown:
    app\design\frontend\base\default\template\catalog\layer\filter.phtml
  10. nguyenviet

    nguyenviet New Member


    Mình muốn làm cả 2, mình làm được rồi. Giờ mình đã thử chuyển nó về dạng dropdown ấy nhưng chưa được. Giờ muốn về dạng dropdown thì như nào vậy bạn?
  11. nguyenviet

    nguyenviet New Member

    Mình chuyển về dạng dropdown đc rồi bạn à. Khi mình kích vào kangaroo thuộc bên danh mục sản phẩm thì nó mất đi danh mục sản phẩm còn lại mỗi phần lọc giá. Giờ làm sao mà khi kích vào kangaroo mà vẫn giữa nguyên ko bị mất phần danh mục sản phẩm không cậu. Bên dưới mình có gửi ảnh đó. Để lúc nào nó cũng hiện lên 2 attribute lọc.

    Các file đính kèm:

    • 2.png
      2.png
      Kích thước:
      3.4 KB
      Đọc:
      182
  12. kennichi89

    kennichi89 Member

    Hi Viet,
    Cách đơn giản để chuyển filter từ dạng list sang dropdown thì chỉ cần sửa template: app\design\frontend\base\default\template\catalog\layer\filter.phtml
    Nhưng mà nó có lỗi như bạn vừa gặp, đó là filter attribute nào thì cái dropdown đó mất tiêu luôn.
    Mình có thể dùng extension của Mana dev rồi sau đó sửa 1 chút là được như ý bạn.
    Sau khi cài đặt ext này, bạn sửa file template\mana\filters\items\list.phtml của họ để đưa về kiểu dropdown nhé, nó sẽ ko bị mất dropdown khi filter nữa.
    PHP:
    <select onchange="setLocation(this.value)">
        <option value=""><?php echo 'Choose an Option...' ?></option>
        <?php foreach ($this->getItems() as $_item): ?>
            <option
                <?php if ($_item->getMSelected()): ?>
                    value=""
                <?php else : ?>
                    <?php if (!$this->getFilterOptions()->getDisableNoResultOptions() || $_item->getCount() > || $_item->getMSelected()): ?>
                        value="<?php echo $this->urlEscape($_item->getUrl()) ?>"
                    <?php else: ?>
                        value=""
                    <?php endif; ?>
                <?php endif; ?>
                >
                <?php echo $this->escapeHtml($_item->getLabel()) ?>
                <?php if (Mage::getStoreConfigFlag('mana_filters/display/count')) : ?>
                    (<?php echo $_item->getCount() ?>)
                <?php endif; ?>
            </option>
        <?php endforeach ?>
    </select>
    Nhưng còn vấn đề với cái url, cái ext này cho phép người dùng filter mỗi attribute với nhiều option.
    Ví dụ: trong 1 category, mình có thể filter product với attribute color là blue và black, mặc định Magento chỉ cho phép filter mỗi attribute với 1 option thôi. Khi bạn click vào color là black, filter lần thứ nhất, trang mới hiện ra và mình có thể filter tiếp với color là blue, trang mới hiện ra, sản phẩm lúc này hiện ra sẽ có color là black hoặc blue. Đấy là khi hiển thị filter theo kiểu list bình thường, nhưng giờ chuyển qua dropdown thì hiện như vầy ko hợp lý lắm, kiểu như là chọn option nào thì chỉ có option đó thôi ý.
    Nên là nếu bạn muốn sửa lại cái này thì chỉ cần bỏ hàm getUrl của ext này đi để dùng lại hàm getUrl mặc định của Magento là đc:
    Mã:
    xóa hàm getUrl() trong file app\code\local\Mana\Filters\Model\Item.php
    P/s: đây là cách nhanh nhất mình có thể fix :)), mong là nó sẽ ổn với bạn :-D
  13. kennichi89

    kennichi89 Member

    À còn phần hiển thị, đây là file khai báo layout của họ: layout\mana_filters.xml
    Mã:
    <reference name="left"> <!-- find left column block -->
                <remove name="catalog.leftnav"/> <!-- remove standard layered navigation -->
                <remove name="enterprisecatalog.leftnav"/> <!-- remove enterprise layered navigation -->
                <block type="mana_filters/view" name="mana.catalog.leftnav" before="-" template="catalog/layer/view.phtml"/>
            </reference>
    bạn chuyển cái block <block type="mana_filters/view" name="mana.catalog.leftnav" before="-" template="catalog/layer/view.phtml"/> sang bên block content hoặc chỗ nào khác mà bạn muốn hiển thị.
  14. nguyenviet

    nguyenviet New Member

    thanks ban, để mình làm xem sao :)
  15. nguyenviet

    nguyenviet New Member

    Cảm ơn bạn nhé, mình làm được rồi. Cho mình hỏi thêm phầm comment sản phẩm với. Mặc định của magento là kích vào đường link thì mới hiện thị ra phần comment, giờ mình muốn cho nó ra luôn và giống giống như hình ảnh bên dưới thì như nào? Bạn hướng dẫn mình với.
    À, phần sản phẩm ấy, ảnh sản phẩm trong trang chi tiết của mình ko zoom được. Bật Console thì thấy nó báo TypeError: registry is undefined của file prototype.js:5557:8.

    Các file đính kèm:

    • 1.png
      1.png
      Kích thước:
      22.1 KB
      Đọc:
      177

Chia sẻ trang này