我有一家在 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,还是只有一个?
我还没有启用缓存。