Magento 2: ฉันจะได้รับแผนผังเว็บไซต์ใน magento 2 ได้อย่างไร?


9

เราสร้างหน้าแผนผังเว็บไซต์ใน Magento 2 เหมือนที่เรามีใน Magento 1 ได้อย่างไร

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

1
พูดคุยเกี่ยวกับ XML (sitemap.xml) / HTML Sitemap? fastcomet.com/tutorials/magento2/sitemap
Ankit Shah

ฉันต้องการแผนที่เว็บไซต์ HTML เช่นเดียวกับใน Magento1.x
Ashish Jagnani

หากต้องการสร้างแผนผังไซต์ใหม่สำหรับเว็บไซต์ของคุณโปรดดูว่าอาจเป็นไปได้ที่คุณจะได้รับความช่วยเหลือemagentosupport.com/2018/12/…
Denish Vachhani

คำตอบ:


6

Magento 2: โดยค่าเริ่มต้นจะไม่มี HTML Sitemap

สามารถใช้ส่วนขยายฟรี:

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

คุณมีตัวเลือกดังต่อไปนี้

  • ใช้ปลั๊กอินเช่นhttp://www.mageworx.com/magento-2-sitemap-extension.html
  • สร้างหน้า CMS & ใส่ลิงค์
  • สร้างโมดูลที่กำหนดเองเพื่อสร้างแผนผังไซต์ HTML โดยทางโปรแกรม
  • ใช้ลิงค์โมดูล / CMS ของคุณเพื่อเข้าถึง

หน้า CMS : สามารถอ้างถึงวีโอไอพี 1 บทความ/programming/5020257/creating-a-magento-sitemap-pageจากนั้นแปลงเป็นวีโอไอพี 2 จะได้ประโยชน์อะไรบ้างสำหรับหน้า CMS

สำหรับหมวดหมู่และหมวดหมู่ย่อย : รับหมวดหมู่ที่มีอยู่ทั้งหมดรายการประเภทย่อยในวีโอไอพี 2

สำหรับหมวดหมู่สินค้า : วีโอไอพี 2: รับชุดผลิตภัณฑ์โดยใช้รหัสหมวดหมู่


$ 79 ดอลลาร์ที่ Mageworx แปลกใจที่ยังไม่มีเวอร์ชันฟรี แผนผังเว็บไซต์เป็นสิ่งสำคัญ SEO ฉลาด
rhand

ไม่ได้โดยค่าเริ่มต้น ดังนั้นเลือกตัวเลือกที่คุณต้องการ
Ankit Shah

วีโอไอพีให้ตัวเลือกแผนที่เว็บไซต์ กรุณาตรวจสอบ: belvg.com/blog/how-to-generate-a-sitemap-in-magento-2-0.html
อึ๊ง

สิ่งนี้จะช่วยได้เช่น: magentician.com/create-magento-2-sitemap
Jai

7

ในฐานะ Magento เวอร์ชัน 2.1.8 การทำงานของ sitemap จะรวมอยู่ในการดูแลระบบโดยค่าเริ่มต้น

  • กำหนดสถานที่ตั้งแผนผังเว็บ: ตลาด> SEO และการค้นหา> แผนผังเว็บไซต์ คุณสามารถสร้างไฟล์ sitemap ด้วยตนเองได้จากที่นี่

  • กำหนดการตั้งค่า cron: ร้านค้า> การกำหนดค่า> แคตตาล็อก> XML Sitemap

ต่อไปนี้เป็นคำแนะนำสำหรับการตั้งค่าที่เกิดขึ้นงาน cron เช่นเดียวกับ Magento 1.x cron ของระบบเรียกสคริปต์ cento ของ Magento ซึ่งกำหนดเวลางาน


1
นี่ควรจะเป็นสิ่งที่ถูกต้องการติดตั้ง mod ของบุคคลที่สามควรเป็นทางเลือกสุดท้ายสำหรับบางสิ่งที่ได้สร้างไว้แล้ว
ajankuv

6

Magento 2 ไม่มี html sitemap url สำหรับหมวดหมู่และผลิตภัณฑ์เช่นใน magento 1.xx สำหรับสิ่งนี้คุณสามารถสร้างหน้า CMS เช่น 'sitemap /' และเรียกไฟล์ phtml

ซึ่งจะรวมถึงรหัสที่กำหนดเองเพื่อเรียกหมวดหมู่ทั้งหมด

ในหน้า cms ​​ให้เรียกสิ่งนี้:

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

จากนั้นใน phtml เรียกสิ่งนี้:

<?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>

วิธีนี้คุณสามารถสร้าง URL แผนผังเว็บไซต์ใน Magento 2 ได้อย่างง่ายดาย


สวัสดีฉันต้องการสร้างแผนผังไซต์ html ของฉันเองโปรดช่วยฉันได้ .. วิธีใช้รหัสนี้ @Riddhish Bhayani
Ask Bytes

2

module-sitemapคุณสามารถพัฒนาโมดูลของคุณซึ่งจะขยายโมดูลวีโอไอพีเริ่มต้น

คุณสามารถขึ้นอยู่กับSitemapรุ่นด้วย\Magento\Sitemap\Model\Sitemap::generateXmlและ_initSitemapItemsวิธีการ

2 แนวทาง:

  1. สร้างใหม่FO controllerและจัดการจอแสดงผลด้วยtemplate/layoutเป็นต้น

  2. สร้างไฟล์คงที่ใน HTML ซึ่งจะให้บริการโดยWebserverURL ที่กำหนดเอง

มันจะไม่ยากมาก

ขอบคุณ



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.