Saltar al contenido

Magento 2: ¿Cómo puedo obtener el mapa del sitio en magento 2?

Solución:

A partir de la versión 2.1.8 de Magento, la funcionalidad del mapa del sitio está incluida en el administrador de forma predeterminada.

  • Definir la ubicación del mapa del sitio: Marketing> SEO y búsqueda> Mapa del sitio. También puede generar manualmente el archivo de mapa del sitio desde aquí.

  • Configure los ajustes de cron: Tiendas> Configuración> Catálogo> Mapa del sitio XML

Aquí hay instrucciones para configurar trabajos cron recurrentes. Al igual que Magento 1.x, el cron del sistema llama al script cron de Magento, que programa los trabajos.

Magento 2: De forma predeterminada, no proporciona un mapa del sitio HTML.

Puede usar la extensión gratuita:

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

Tienes las siguientes opciones

  • Utilice un complemento como http://www.mageworx.com/magento-2-sitemap-extension.html
  • Crear página CMS y poner enlaces
  • Cree un módulo personalizado para generar un mapa del sitio HTML mediante programación
  • Utilice su enlace de módulo / CMS para acceder a ese

Páginas CMS: Puede consultar el artículo de Magento 1 https://stackoverflow.com/questions/5020257/creating-a-magento-sitemap-page Luego, convertirlo a Magento 2 será útil para las páginas de CMS

Para categorías y subcategorías: Obteniendo todas las categorías disponibles, lista de subcategorías en magento 2

Para categorías de productos: Magento 2: obtenga la colección de productos usando la identificación de categoría

Magento 2 no tiene URL de mapa de sitio html para categorías y productos como en magento 1.xx. Para esto, puede crear una página CMS como ‘mapa del sitio /’ y llamar a un archivo phtml

que incluirá el código personalizado para llamar a todas las categorías

En la página cms, llame a esto:

{{block class="MagentoFrameworkViewElementTemplate" template="Magento_Theme::sitemap.phtml" name="customsitemap"}}

luego en phtml, llame a esto:

<?php 
$objectManagerr = MagentoFrameworkAppObjectManager::getInstance();
$categoryFactory = $objectManagerr->create('MagentoCatalogModelResourceModelCategoryCollectionFactory');
$categoryy = $categoryFactory->create()   
        ->addAttributeToSelect('*');
//->addAttributeToFilter('is_active',1)
//->addAttributeToFilter('is_anchor',1);
$excludedCategory = array(0);

?>

<ul>
<?php foreach ($categoryy as $cc): ?>
    <?php if(!in_array($cc->getId(), $excludedCategory)):?>
        <div class = "sitemap-list">
        <?php if ($cc->getLevel()==2):?>
            <li>
                <h3><a href="https://foroayuda.es/<?php echo $cc->getUrl(); ?>"><?php echo $cc->getName(); ?></a></h3>
                <?php
                    if($cc->getChildren())
                    {
                        $sub = explode(",", $cc->getChildren());
                        $categoryFactorysub = $objectManagerr->create('MagentoCatalogModelResourceModelCategoryCollectionFactory');
                        $categoryysub = $categoryFactorysub->create()   
                        ->addAttributeToSelect('*');
                        $subcat=$categoryysub->addFieldToFilter('entity_id', array('in' =>$sub));

                        //$subcat->printlogquery(true);exit;
                        ?>
                            <ul> 
                        <?php foreach ($subcat as $subcategories){ ?>
                            <?php if ($subcategories->getLevel()==3):?>
                                <div class = "sitemap-list">
                                    <li>
                                        <?php if($subcategories->getImageUrl()): ?>
                                        <div>
                                            <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('MagentoCatalogModelResourceModelCategoryCollectionFactory');
                                                $subSubCatCollection = $subsubCatFactory->create()
                                                ->addAttributeToSelect('*');
                                                $subSubCollection=$subSubCatCollection->addFieldToFilter('entity_id', array('in' =>$subSubCat));
                                                ?>
                                                    <ul>
                                                <?php foreach ($subSubCollection as $subSubcategories){ ?>
                                                        <div class = "sitemap-list">
                                                            <li>
                                                                <?php if($subSubcategories->getImageUrl()): ?>
                                                                <div>
                                                                    <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>

De esta manera, puede crear fácilmente una URL de mapa del sitio en Magento 2.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *