Magento 2: Làm cách nào tôi có thể nhận được sơ đồ trang web trong magento 2?


9

Cách chúng tôi tạo trang sơ đồ trang web trong Magento 2 giống như chúng tôi có trong Magento 1?

http://example.com/catalog/seo_sitemap/

1
Nói về XML (sitemap.xml) / Sơ đồ trang web HTML? fastcomet.com/tutorials/magento2/sitemap
Ankit Shah

Tôi muốn bản đồ trang web HTML giống như trong Magento1.x
Ashish Jagnani

Để tạo sơ đồ trang web mới cho trang web của bạn, có thể bạn có thể nhận trợ giúp emagentosupport.com/2018/12/ Đổi
Denish Vachhani

Câu trả lời:


6

Magento 2: Theo mặc định không cung cấp Sơ đồ trang web HTML.

Có thể sử dụng tiện ích mở rộng miễn phí:

https://www.mageplaza.com/magento-2-seo-extension/

Bạn có các tùy chọn sau

  • Sử dụng Plugin như http://www.mageworx.com/magento-2-sitemap-extension.html
  • Tạo trang CMS và đặt liên kết
  • Tạo mô-đun tùy chỉnh để tạo sơ đồ trang web HTML theo chương trình
  • Sử dụng Mô-đun / Liên kết CMS của bạn để truy cập vào đó

Các trang CMS : Có thể tham khảo Bài viết về Magento 1 /programming/5020257/creating-a-magento-sitemap-page Sau đó Chuyển đổi nó thành Magento 2 sẽ giúp ích gì cho các trang CMS

Đối với Danh mục & Danh mục phụ : Nhận tất cả danh mục có sẵn, danh sách danh mục phụ trong magento 2

Đối với Danh mục Sản phẩm : Magento 2: nhận bộ sưu tập sản phẩm bằng danh mục id


79 đô la tại Mageworx. Ngạc nhiên là chưa có phiên bản miễn phí. Sơ đồ trang web là khá quan trọng SEO khôn ngoan.
rhand

Yup không theo mặc định. Vì vậy, chọn từ các tùy chọn mà bạn thích
Ankit Shah

Magento cung cấp tùy chọn sơ đồ trang web. vui lòng kiểm tra: belvg.com/blog/how-to-generate-a-sitemap-in-magento-2-0.html
Jai

điều này cũng sẽ giúp: magentologists.com/create-magento-2-sitemap
Jai

7

Kể từ phiên bản Magento 2.1.8, chức năng sơ đồ trang web được bao gồm trong quản trị viên theo mặc định.

  • Xác định vị trí sơ đồ trang web: Tiếp thị> SEO & Tìm kiếm> Sơ đồ trang web . Bạn cũng có thể tự tạo tệp sơ đồ trang web từ đây.

  • Định cấu hình cài đặt cron: Cửa hàng> Cấu hình> Danh mục> Sơ đồ trang web XML

Dưới đây là hướng dẫn để thiết lập các công việc định kỳ . Giống như Magento 1.x, cron của hệ thống gọi kịch bản cron Magento, lên lịch công việc.


1
Đây là một trong những chính xác, cài đặt mod của bên thứ ba nên là phương sách cuối cùng cho một cái gì đó đã được xây dựng. Cảm ơn các bạn!
ajankuv

6

Magento 2 không có url sơ đồ trang web html cho danh mục và sản phẩm như trong magento 1.xx. Đối với điều này, bạn có thể tạo một trang CMS như 'sitemap /' và gọi một tệp phtml

sẽ bao gồm mã tùy chỉnh để gọi tất cả các danh mục

Trong trang cms, gọi đây là:

{{block class="Magento\Framework\View\Element\Template" template="Magento_Theme::sitemap.phtml" name="customsitemap"}}

sau đó trong phtml, gọi đây:

<?php 
$objectManagerr = \Magento\Framework\App\ObjectManager::getInstance();
$categoryFactory = $objectManagerr->create('Magento\Catalog\Model\ResourceModel\Category\CollectionFactory');
$categoryy = $categoryFactory->create()   
        ->addAttributeToSelect('*');
//->addAttributeToFilter('is_active',1)
//->addAttributeToFilter('is_anchor',1);
$excludedCategory = array(0);

?>

<ul class="sitelist">
<?php foreach ($categoryy as $cc): ?>
    <?php if(!in_array($cc->getId(), $excludedCategory)):?>
        <div class = "sitemap-list" style="float:left;">
        <?php if ($cc->getLevel()==2):?>
            <li>
                <h3><a href="<?php echo $cc->getUrl(); ?>"><?php echo $cc->getName(); ?></a></h3>
                <?php
                    if($cc->getChildren())
                    {
                        $sub = explode(",", $cc->getChildren());
                        $categoryFactorysub = $objectManagerr->create('Magento\Catalog\Model\ResourceModel\Category\CollectionFactory');
                        $categoryysub = $categoryFactorysub->create()   
                        ->addAttributeToSelect('*');
                        $subcat=$categoryysub->addFieldToFilter('entity_id', array('in' =>$sub));

                        //$subcat->printlogquery(true);exit;
                        ?>
                            <ul style="margin-left:15px;"> 
                        <?php foreach ($subcat as $subcategories){ ?>
                            <?php if ($subcategories->getLevel()==3):?>
                                <div class = "sitemap-list">
                                    <li>
                                        <?php if($subcategories->getImageUrl()): ?>
                                        <div class="mega-menu-ad">
                                            <img src="<?php echo ($subcategories->getImageUrl()); ?>" width="25" height="25" />
                                        </div>
                                        <?php endif; ?>

                                        <a href="<?php echo $subcategories->getUrl(); ?>"><?php echo $subcategories->getName(); ?></a>
                                        <?php
                                            if($subcategories->getChildren())
                                            {
                                                $subSubCat = explode(",", $subcategories->getChildren());
                                                $subsubCatFactory = $objectManagerr->create('Magento\Catalog\Model\ResourceModel\Category\CollectionFactory');
                                                $subSubCatCollection = $subsubCatFactory->create()
                                                ->addAttributeToSelect('*');
                                                $subSubCollection=$subSubCatCollection->addFieldToFilter('entity_id', array('in' =>$subSubCat));
                                                ?>
                                                    <ul style="margin-left:20px;">
                                                <?php foreach ($subSubCollection as $subSubcategories){ ?>
                                                        <div class = "sitemap-list">
                                                            <li>
                                                                <?php if($subSubcategories->getImageUrl()): ?>
                                                                <div class="mega-menu-ad">
                                                                    <img src="<?php echo ($subSubcategories->getImageUrl()); ?>" width="25" height="25" />
                                                                </div>
                                                                <?php endif; ?>
                                                                <a href="<?php echo $subSubcategories->getUrl(); ?>"><?php echo $subSubcategories->getName()?></a>
                                                            </li>
                                                        </div>
                                                <?php } ?> 
                                                    </ul>
                                        <?php   } ?>

                                    </li>
                                </div>
                            <?php endif;?>
                        <?php } ?>
                            </ul>
                <?php   } ?>

            </li>
        <?php endif;?>
        </div>
    <?php endif;?>
    <?php endforeach; ?>
    </ul>

Bằng cách này, bạn có thể dễ dàng tạo URL sơ đồ trang web trong Magento 2.


Xin chào, tôi muốn tạo sơ đồ trang web html của riêng mình, bạn có thể vui lòng giúp tôi .. làm thế nào để sử dụng mã này. @Riddhish Bhayani
Hỏi Byte

2

Bạn có thể phát triển mô-đun của mình sẽ mở rộng mô-đun Magento mặc định module-sitemap.

Bạn có thể dựa trên Sitemapmô hình với \Magento\Sitemap\Model\Sitemap::generateXml_initSitemapItemsphương thức.

2 cách tiếp cận:

  1. Tạo một cái mới FO controllervà quản lý màn hình với template/layoutvv

  2. Tạo một tệp tĩnh trong HTML sẽ được cung cấp bởi Webservermột URL tùy chỉnh.

Nó sẽ không quá khó khăn.

Cảm ơn,



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.