olegkoval/magento2-regenerate-url-rewrites

为Magento 2添加一个CLI功能,允许重新生成产品和类别的URL重写。

安装次数: 2,685,304

依赖者: 2

建议者: 0

安全: 0

星标: 429

关注者: 30

分支: 118

开放问题: 40

类型:magento2-module

1.6.2 2023-10-10 16:00 UTC

This package is auto-updated.

Last update: 2024-09-10 17:49:56 UTC


README

Magento 2 "Regenerate Url rewrites" 扩展添加了一个CLI功能,允许在所有商店或特定商店中重新生成产品/类别的URL重写。扩展主页:https://github.com/olegkoval/magento2-regenerate_url_rewrites

联系方式

捐赠/支持我

安装

COMPOSER 安装

  • 运行composer命令

$> composer require olegkoval/magento2-regenerate-url-rewrites

手动安装

  • 从压缩文件中提取文件

  • 将文件部署到Magento2文件夹 app/code/OlegKoval/RegenerateUrlRewrites

启用扩展

  • 启用扩展(使用Magento 2命令行界面 *)

$> php bin/magento module:enable OlegKoval_RegenerateUrlRewrites

  • 为了确保启用的模块已正确注册,请运行 'setup:upgrade' 命令

$> php bin/magento setup:upgrade

  • [如果需要] 重新编译代码和重新部署静态视图文件

$> php bin/magento setup:di:compile $> php bin/magento setup:static-content:deploy

如何使用

  • 要重新生成所有商店中所有产品的URL重写(仅限产品),将实体类型设置为"product"

$> php bin/magento ok:urlrewrites:regenerate --entity-type=product

因为 product 实体类型是默认的 - 你可以省略它

$> php bin/magento ok:urlrewrites:regenerate

  • 要重新生成特定商店视图中的URL重写(例如:商店视图ID是"2"),请使用选项 --store-id

$> php bin/magento ok:urlrewrites:regenerate --store-id=2

  • 要重新生成特定产品的URL重写,请使用选项 product-id(例如:产品ID是"122")

$> php bin/magento ok:urlrewrites:regenerate --entity-type=product --product-id=122

或者

$> php bin/magento ok:urlrewrites:regenerate --product-id=122

  • 要重新生成特定产品范围中的URL重写,请使用选项 products-range(例如:重新生成ID在"101"和"152"之间的所有产品)

$> php bin/magento ok:urlrewrites:regenerate --entity-type=product --products-range=101-152

如果在该范围内存在ID间隙(在范围101-152中,产品ID为110、124、150不存在) - 请不要担心,脚本可以处理这种情况。

或者

$> php bin/magento ok:urlrewrites:regenerate --products-range=101-152

  • 要保存当前的URL重写(您想获取新的URL重写并保存当前),请使用选项 --save-old-urls

$> php bin/magento ok:urlrewrites:regenerate --save-old-urls

  • 要防止重新生成"url_key"值(使用当前的"url_key"值),请使用选项 --no-regen-url-key

$> php bin/magento ok:urlrewrites:regenerate --no-regen-url-key

  • 如果您不希望在URL重写生成结束后运行完整重新索引,请使用选项 --no-reindex

$> php bin/magento ok:urlrewrites:regenerate --no-reindex

  • 如果您不希望在URL重写生成结束后运行缓存:清理,请使用选项 --no-cache-clean

$> php bin/magento ok:urlrewrites:regenerate --no-cache-clean

  • 如果您不想在生成URL重写后运行cache:flush,请使用选项--no-cache-flush

$> php bin/magento ok:urlrewrites:regenerate --no-cache-flush

  • 如果您不想在控制台显示进度条,请使用选项--no-progress

$> php bin/magento ok:urlrewrites:regenerate --no-progress

重新生成类别URL重写

  • 要重新生成所有店铺中所有类别的URL重写,将实体类型设置为"category"

$> php bin/magento ok:urlrewrites:regenerate --entity-type=category

  • 要重新生成特定类别的URL重写,请使用选项category-id(例如:类别ID为"15")

$> php bin/magento ok:urlrewrites:regenerate --entity-type=category --category-id=15

  • 要重新生成特定类别范围的URL重写,请使用选项categories-range(例如:重新生成ID在"4"和"12"之间的所有类别)

$> php bin/magento ok:urlrewrites:regenerate --entity-type=category --categories-range=4-12

* 如果范围内有ID间隔(在范围4-12中类别ID"6"不存在)- 不要担心,脚本会处理这种情况。

** 如果您使用选项--category-id--categories-range,则可以省略选项--entity-type=category - 扩展将理解您想使用类别实体。

您可以组合选项

$> php bin/magento ok:urlrewrites:regenerate --store-id=2 --save-old-urls --no-regen-url-key --no-reindex

您不能将以下选项组合在一起

  • --entity-type=product--category-id/--categories-range
  • --entity-type=category--product-id/--products-range
  • --category-id和/或--categories-range和/或--product-id和/或--products-range

已弃用的选项

  • --check-use-category-in-product-url - 扩展使用内置的Magento URL重写生成器,以任何方式检查此选项。

用法示例

  • 为ID为"38"的产品重新生成URL重写,店铺ID为"3"

$> php bin/magento ok:urlrewrites:regenerate --entity-type=product --store-id=3 --product-id=38

或者

$> php bin/magento ok:urlrewrites:regenerate --store-id=3 --product-id=38

  • 为ID为5,6,7,8,9,10,11,12的产品重新生成URL重写,店铺ID为"2",并在处理结束后不运行完整重建索引

$> php bin/magento ok:urlrewrites:regenerate --entity-type=product --store-id=2 --products-range=5-12 --no-reindex

  • 为ID为"22"的类别在所有店铺中重新生成URL重写并保存当前URL重写

$> php bin/magento ok:urlrewrites:regenerate --entity-type=category --category-id=22 --save-old-urls

  • 为ID为21,22,23,24,25的类别在店铺ID为"2"中重新生成URL重写

$> php bin/magento ok:urlrewrites:regenerate --entity-type=category --categories-range=21-25 --store-id=2

祝您愉快!

最好的祝愿,Oleg Koval

* 参考:http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands.html