setono/sylius-redirect-plugin

Sylius 插件,用于管理重定向

资助包维护!
Setono

安装数量: 230,263

依赖项: 0

建议者: 0

安全: 0

星标: 23

关注者: 3

分支: 25

开放问题: 15

类型:sylius-plugin

v2.4.3 2024-09-04 11:27 UTC

README

Latest Version on Packagist Software License Build Status

赋予您在 Sylius 商店中管理重定向的能力。

安装

步骤 1:下载插件

打开命令行界面,进入您的项目目录,然后执行以下命令以下载此插件的最新稳定版本

$ composer require setono/sylius-redirect-plugin

此命令要求您全局安装了 Composer,如 Composer 文档中的安装章节所述。

步骤 2:启用插件

然后,通过将其添加到项目 config/bundles.php 文件中注册的插件/捆绑包列表中启用插件

<?php

return [
    // ...
    
    // Add before SyliusGridBundle
    Setono\SyliusRedirectPlugin\SetonoSyliusRedirectPlugin::class => ['all' => true],
    Sylius\Bundle\GridBundle\SyliusGridBundle::class => ['all' => true],
    
    // ...
];

非常重要的是在添加网格捆绑包之前添加插件,否则您将收到一个异常,显示 您已请求不存在的参数 "setono_sylius_redirect.model.redirect.class"。

步骤 3:添加配置

# config/routes/setono_sylius_redirect.yaml

setono_sylius_redirect_admin:
    resource: "@SetonoSyliusRedirectPlugin/Resources/config/admin_routing.yaml"
    prefix: /%sylius_admin.path_name%
# config/packages/setono_sylius_redirect.yaml
imports:
    # ...
    
    - { resource: "@SetonoSyliusRedirectPlugin/Resources/config/app/config.yaml" }
    
    # ...

步骤 4:更新数据库

使用 Doctrine 迁移创建迁移文件并更新数据库。

$ bin/console doctrine:migrations:diff
$ bin/console doctrine:migrations:migrate

步骤 5:复制模板

您可以将 tests/Application/templates/bundles/SyliusAdminBundle 下的模板复制到您的应用程序中,以启用在更新产品时添加自动重定向的功能。

步骤 6:安装资源

$ bin/console assets:install

功能

此插件允许您创建新的重定向。

配置 下的新菜单项 重定向 中,您可以管理重定向。

重定向条目

一个条目由以下组成

  • 源 URL,相对于您的网站
  • 目标 URL,可以是相对的或绝对的,如果您想重定向到另一个网站
  • 永久或临时(这将影响重定向的 HTTP 响应代码,301 或 302)
  • 启用
  • 只有当 404 时才重定向(以管理潜在的死链)

安全

在创建/修改重定向时内置了安全机制,可以防止创建无限循环。这通过无限递归检查来实现。

第二个安全机制是防止相同的源重定向导致不一致的重定向。

自动重定向

有一个内置功能,允许您在更改产品 slug 时自动创建重定向。它还处理可能会创建无限循环的情况,并删除不必要的重定向。

示例:有一个如 /products/a 的 slug,将其重命名为 /products/b,然后将其重命名为 /products/a,这将导致从 ba 的重定向,并自动删除从 ab 的重定向。

贡献者