Magento 2: Magento 2'deki site haritasını nasıl alabilirim?


9

Magento 2'deki site haritası sayfasını Magento 1'deki gibi nasıl oluştururuz ?

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

1
XML Hakkında Konuşmak (sitemap.xml) / HTML Site Haritası? fastcomet.com/tutorials/magento2/sitemap
Ankit Shah

HTML site haritasını Magento1.x ile aynı istiyorum
Ashish Jagnani

Siteniz için yeni bir site haritası oluşturmak için bu emagentosupport.com/2018/12/…
Denish Vachhani

Yanıtlar:


6

Magento 2: Varsayılan olarak HTML Site Haritası sağlamıyor.

Ücretsiz Uzantıyı kullanabilir:

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

Aşağıdaki seçenekleriniz var

CMS Sayfalar : Magento 1 Madde başvurmak Can /programming/5020257/creating-a-magento-sitemap-page Sonra Magento 2 olacak olacak Bazı Ne Yararlı CMS Sayfalar dönüştürelim

Kategoriler ve Alt Kategoriler için : magento 2 içindeki tüm mevcut kategori, alt kategori listesini alma

Kategoriler için Ürün : Magento 2: kategori kimliğini kullanarak ürün koleksiyonu alın


Mageworx'ta 79 dolar. Henüz ücretsiz bir sürümü yok şaşırttı. Site Haritası oldukça akıllıca SEO bilge.
rhand

Evet, varsayılan olarak değil. Tercih ettiğiniz seçeneklerden birini seçin
Ankit Shah

Magento site haritası seçeneği sunar. lütfen kontrol edin: belvg.com/blog/how-to-generate-a-sitemap-in-magento-2-0.html
Jai

bu da yardımcı olacaktır: magenticians.com/create-magento-2-sitemap
Jai

7

Magento 2.1.8 sürümünden itibaren site haritası işlevselliği varsayılan olarak yöneticiye dahil edilmiştir.

  • Site haritası konumunu tanımlayın: Pazarlama> SEO ve Arama> Site Haritası . Site haritası dosyasını buradan manuel olarak da oluşturabilirsiniz.

  • Cron ayarlarını yapılandırma: Mağazalar> Yapılandırma> Katalog> XML Site Haritası

İşte tekrarlayan cron işlerini ayarlamak için talimatlar . Tıpkı Magento 1.x gibi, sistemin cronu işleri planlayan Magento cron betiğini çağırır.


1
Bu doğru olanı olmalı, üçüncü taraf modları yüklemek zaten yerleşik bir şey için son çare olmalıdır. Teşekkürler çocuklar!
ajankuv

6

Magento 2, kategori ve magento 1.xx gibi ürünler için html site haritası URL'sine sahip değil. Bunun için 'site haritası /' gibi bir CMS sayfası oluşturabilir ve bir phtml dosyasını çağırabilirsiniz

tüm kategoriyi çağırmak için özel kodu içerecek

Cms sayfasında şunu arayın:

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

sonra phtml'de şunu çağırın:

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

Bu şekilde Magento 2'de kolayca bir site haritası URL'si oluşturabilirsiniz.


Merhaba, ben kendi html site haritası oluşturmak istiyorum lütfen bana yardım edebilirim .. bu kod nasıl kullanılır. @Riddhish Bhayani
Ask Bytes

2

Varsayılan Magento modülünü genişletecek modülünüzü geliştirebilirsiniz module-sitemap.

Ve yöntemleriyle Sitemapmodele dayanabilirsiniz .\Magento\Sitemap\Model\Sitemap::generateXml_initSitemapItems

2 yaklaşım:

  1. Yeni bir tane oluşturun FO controllerve ekranı template/layoutvb . İle yönetin .

  2. HTML'de Webserverözel bir URL tarafından sunulacak statik bir dosya oluşturun .

Çok zor olmayacak.

Teşekkürler,



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.