Một Vấn Đề Về Menu Magento Không Hiển Thị - ty le keo ma cao

/imgposts/o7ltjqww.jpg

Ví dụ về một file trong mã nguồn chủ đề Magento: /home/wwwroot/www.sunzhongwei.com/suncom/app/design/frontend/default/sunri/template/catalog/navigation/top.phtml

<?php echo $this->getLayout()->createBlock("cms/block")->setBlockId("news")->toHtml() ?>
<?php echo $this->getLayout()->createBlock("cms/block")->setBlockId("service")->toHtml() ?>
<?php echo $this->getLayout()->createBlock("cms/block")->setBlockId("contact")->toHtml() ?>
<?php echo $this->getLayout()->createBlock("cms/block")->setBlockId("account")->toHtml() ?>
<?php echo $this->getLayout()->createBlock("cms/block")->setBlockId("casestudy")->toHtml() ?>

Tuy nhiên, chỉ có phần "news" được hiển thị, bốn kèo bóng đá mục còn lại không xuất hiện. Nguyên nhân của vấn đề này là gì?

Nguyên nhân chính nằm ở cấu trúc HTML:

  • Phần ngoài cùng cần phải là thẻ li thay vì ul.
  • Với mục "Contact Us", khi tôi loại bỏ thẻ ul bên ngoài thì nó đã hoạt động bình thường.
  • Đối với hai mục còn lại:
    • "Account" không hiển thị vì khối block đã bị vô hiệu hóa.
    • "Casestudy" không hiển thị vì khối block này chưa tồn tại. Giải pháp là thêm block vào hệ thống thông qua CMS - Static Blocks.

Đặt liên kết "Contact rồng hồ Sunricher" dưới mục "Contact Us":

<li class="level0 nav-2 level-top parent">
    <a class="level-top" href="{{store direct_url="contact-us"}}"><span>Contact Us</span></a>
    <ul class="level0">
        <li class="level1 nav-2-1 first">
            <a href="{{store direct_url="contacts"}}"><span>Contact Sunricher</span> 
            </a>
        </li>
    </ul>
</li>

Lưu ý quan trọng: Khi bạn mở và chỉnh sửa các khối tĩnh (CMS - Static Blocks), hệ thống sẽ tự động thêm một thẻ ul bên ngoài thẻ li. Bạn cần đảm bảo xóa thẻ ul này đi, nếu không menu sẽ không thể tải đúng cách.

Khi sử dụng trình biên tập vim, bạn có thể gặp lỗi sau và bố cục bị rối loạn:

E437: terminal capability "cm" required

Để khắc phục, hãy nhập lệnh sau:

export TERM=xterm

Lệnh này sẽ thiết lập đúng môi trường terminal cho vim, giúp giải quyết vấn đề và cho phép bạn tiếp tục công việc chỉnh sửa mã nguồn một cách suôn sẻ.