1

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

在产品导入后的商店软件中,它只有一个链接 - shop.domain/product-a(商店软件将名称解析为 url 键的方式与 magento 不同,以防我拥有一些更疯狂的产品名称)。

我需要帮助以使产品具有与 magento 中相同的链接 - shop.domain/productA, shop.domain/categoryA/productA, shop.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,还是只有一个?

我还没有启用缓存。

4

1 回答 1

2

毕竟你要做的就是去刷新你的索引。之后清除缓存。

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

之后,将生成 seo url。不过,您将不得不稍等片刻

于 2020-09-19T09:02:17.977 回答