symfony Shopware 6中的Sitemap.xml中缺少登录页

qxsslcnc  于 12个月前  发布在  PWA
关注(0)|答案(1)|浏览(149)

我最近创建了一个Landingpage,它似乎没有列在网站Map中。刷新索引和手动生成网站Map没有做到这一点。
有没有人知道如何解决这个问题或从哪里开始?

4ktjp1zp

4ktjp1zp1#

对于调试,我建议使用“live”模式。当请求/sitemap.xml时会生成站点Map。现在您可以在
vendor/shopware/core/Content/Sitemap/Service/SitemapExporter.php:47
在我的情况下,我可以复制你的问题。
在URL提供程序上有一个循环:

foreach ($this->urlProvider as $urlProvider) {

您可以看到HomeUrlProvider被调用,然后是\Shopware\Core\Content\Sitemap\Provider\CategoryUrlProvider
\Shopware\Core\Content\Sitemap\Provider\CategoryUrlProvider::getUrls只获取真实的类别。即使目标页面在管理面板中的类别下列出,它们也存储在landing_page_*表中,因此不包含在此URL提供程序中。
似乎没有专门用于Landingpages的UrlProvider(截至我查看的6.5.3.3)。
因此,这可能是有意的,目标网页不列在网站Map?

作为一种变通方法,您可以通过config/packages/z-shopware.yaml添加自定义URL

shopware:
    sitemap:
        custom_urls:
            - url: 'my-landing-page'
              lastMod: '2023-10-07 21:59:43'
              changeFreq: weekly
              salesChannelId: 7a0794721cba448d87e0a7c752ffedff

缺点是您必须手动指定lastMod日期。

相关问题