【发布时间】:2021-01-05 13:33:45
【问题描述】:
我有一家在 Shopware 6 上运行的商店。数据正在从 Magento 1.8 迁移到该商店。在 magento 商店中,可以为一个产品分配多个 url。这样productA 就可以通过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)。有一个 Settings->SEO 页面,其中似乎配置了 URL,但我不知道如何构建 sn-p 以使其工作(尝试了 {% 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,还是只有一个?
我还没有启用缓存。
【问题讨论】: