Magento2商店URL乱了?Elgentos可以帮你批量重塑!

在使用 Magento 2 构建电商网站时,经常会遇到 URL 相关的问题,例如产品 URL 路径不正确、分类 URL 无法访问、cms 页面链接失效等等。手动一个个修改既耗时又容易出错。elgentos/regenerate-catalog-urls 扩展提供了一组便捷的命令行工具,可以批量重新生成产品、分类和 CMS 页面的 URL,极大地提高了维护效率。 composer在线学习地址:学习地址

这个扩展能做什么?

elgentos/regenerate-catalog-urls 扩展为 Magento 2 添加了一系列命令行工具,用于重新生成:

  • 产品 URL Rewrite: 基于产品的 URL 路径重新生成 URL Rewrite。
  • 分类 URL Rewrite: 基于分类的 URL 路径重新生成 URL Rewrite。
  • CMS 页面 URL Rewrite: 基于 CMS 页面的 URL 路径重新生成 URL Rewrite。
  • 分类 URL Path: 基于分类的 URL Key 及其父级分类重新生成分类 URL 路径。

安装

安装非常简单,只需通过 Composer 即可:

composer require elgentos/regenerate-catalog-urls php bin/magento setup:upgrade

或者,你也可以下载源码,将 src 目录复制到 app/code/Elgentos/RegenerateCatalogUrls,然后运行 php bin/magento setup:upgrade。

使用方法

该扩展提供了多个命令行指令,可以通过 php bin/magento 命令调用:

Usage:  regenerate:product:url [-s|--store="..."] [pids1] ... [pidsN]  regenerate:category:url [-s|--store="..."] [-r|--root="..."] [cids1] ... [cidsN]  regenerate:category:path [-s|--store="..."] [-r|--root="..."] [cids1] ... [cidsN]  regenerate:cms-page:url [-s|--store="..."] [pids1] ... [pidsN]  Arguments:  pids                  Products (or Pages) to regenerate  cids                  Categories to regenerate  Options:  --store (-s)          Use a specific store (store Id, store code or 'all')  --root (-r)           Regenerate for root category and its children, ignoring cids.  --verbose (-v)        Verbose mode to display the errors. Eg: duplicated product urls  --help (-h)           Display this help message

示例:

  • 重新生成所有产品在全局商店中的 URL:

    php bin/magento regenerate:product:url
  • 重新生成 ID 为 1, 2, 3, 4 的产品在商店 1 中的 URL:

    php bin/magento regenerate:product:url -s1 1 2 3 4
  • 重新生成所有 CMS 页面的 URL:

    php bin/magento regenerate:cms-page:url -s all
  • 重新生成根分类 ID 为 4 及其子分类在商店 1 中的 URL:

    php bin/magento regenerate:category:url -s1 -r4

常见问题 (FAQ)

  • url_key 和 url_path 有什么区别

    url_key 包含关键字,例如 “joust-duffle-bag”。url_path 是通过将 url_key 添加后缀生成的 (产品后缀存储在 catalog/SEO/product_url_suffix 中,默认为 .html)。因此,url_path 默认会变成 joust-duffle-bag.html。它还会添加父级分类的 slug,因此 url_path 可能会变成 bags/joust-duffle-bag.html。但是,自 Magento 2.1 版本早期以来,url_path 的使用已被弃用。如果你运行的是最新的 Magento 2 版本,可以安全地删除这些值。

  • 运行命令时出现 “Duplicated url” 警告?

    如果看到此错误,则表示 catalog_product_entity_varchar 中存在重复的 url_key 值 (在同一商店中)。可以使用 baldwin/magento2-module-url-data-integrity-checker 扩展来检查这些值 (需要手动修复)。

优势和实际应用

elgentos/regenerate-catalog-urls 扩展的优势在于:

  • 批量处理: 可以一次性重新生成多个产品、分类或 CMS 页面的 URL,大大节省了时间。
  • 灵活性: 可以指定商店、根分类等参数,灵活控制重新生成的范围。
  • 易于使用: 通过简单的命令行指令即可完成 URL 的重新生成。
  • 解决 URL 问题: 可以有效解决 URL 路径错误、重复 URL 等问题,提升 SEO 和用户体验。

总而言之,elgentos/regenerate-catalog-urls 扩展是 Magento 2 商店维护的利器,可以帮助你轻松管理和修复 URL 问题,提升网站的整体质量。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享