如何在Shopware 6中创建SEO网址

问题描述

我有一个在Shopware 6上运行的商店。数据正在从Magento 1.8迁移到该商店。在magento商店中,可以为一个产品分配多个URL。这样就可以通过productAshop.domain/productAshop.domain/categoryA/productA访问shop.domain/categoryA/bategoryB/productA

在导入商品的Shopware中,只有一个链接-shop.domain/product-a(在我拥有一些更疯狂的商品名称的情况下,shopware将名称解析为url键的方式与magento不同)。

我需要帮助使产品具有与magento中相同的链接-shop.domain/productAshop.domain/categoryA/productAshop.domain/categoryA/bategoryB/productA。我该怎么办?

如果这不可能,那么我至少如何为产品分配自定义url-key,使其与magento中的相同?

我发现Shopware中的产品实体与SEO_url实体有关系,并且我一直在尝试通过API将不同的组合推送到该端点,例如:

'foreignKey' => $shopwareProducts[0]->id,'salesChannelId' => $germanySalesChannelId,'routeName' => 'frontend.navigation.page','pathInfo' => 'productA','SEOPathInfo' => 'SEOPathInfoTest'.$shopwareProducts[0]->id

似乎没有错误,但是我不知道如何在店面使用它(这意味着elink给我404)。有一个“设置”->“ SEO页面,其中似乎已配置了URL,但我不知道该如何构建该片段以正常工作(尝试过{% for part in product.SEOUrls %}{{ part.SEOPathInfo|lower }}/{% endfor %}的变体)。

我尝试使用的另一件事是产品的规范URL设置,并在SEO路径字段中输入一些路径,但这总是使我收到此错误

errors  [ {…} ]
0   Object { status: "404",code: "FRAMEWORK__SEO_URL_ROUTE_NOT_FOUND",title: "Not Found",… }
status  "404"
code    "FRAMEWORK__SEO_URL_ROUTE_NOT_FOUND"
title   "Not Found"
detail  "SEO url route\"\" not found."
Meta    Object { parameters: {…} }
parameters  Object { routeName: "" }
routeName   ""

我对购物软件很陌生,这对我来说非常令人困惑:/有人可以帮忙吗? Shopware文档在这方面完全没有帮助。哦,我需要使用API​​,因为我要导入大约1600种产品,因此无法手动完成。我可以轻松地从magento中提取所有url键,如果我知道如何将其推入购物软件(SEO_url?),那么我将被保存。

类别相同-是否有办法让它们使用不同的url键?

也可以为一个产品分配许多url,或者可以只有一个吗?

我尚未启用缓存。

解决方法

所有要做的就是刷新索引。之后,清除缓存。

设置->系统->缓存和索引

之后,将生成seo网址。您将不得不稍等