setono/sylius-redirect-plugin 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

setono/sylius-redirect-plugin

最新稳定版本:v2.7.0

Composer 安装命令:

composer require setono/sylius-redirect-plugin

包简介

Sylius plugin for managing redirects

README 文档

README

Latest Version on Packagist Software License Build Status

Gives you the ability to manage redirects in your Sylius shop.

Installation

Step 1: Download the plugin

Open a command console, enter your project directory and execute the following command to download the latest stable version of this plugin:

$ composer require setono/sylius-redirect-plugin

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Step 2: Enable the plugin

Then, enable the plugin by adding it to the list of registered plugins/bundles in the config/bundles.php file of your project:

<?php

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

It is IMPORTANT to add the plugin before the grid bundle else you will get a an exception saying You have requested a non-existent parameter "setono_sylius_redirect.model.redirect.class".

Step 3: Add configuration

# 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" }
    
    # ...

Step 4: Update database

Use Doctrine migrations to create a migration file and update the database.

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

Step 5: Copy template

You can copy the templates under tests/Application/templates/bundles/SyliusAdminBundle into your own application to enable the possibility to add an automatic redirection when updating product

Step 6: Install assets

$ bin/console assets:install

What it does

This plugin allows you to create new redirects.

Under the new menu entry Redirects unders Configuration, you can manage redirects.

Redirection entry

An entry is composed by:

  • Source url, relative to your website
  • Target URL, can be relative or absolute in case you want to redirect to another website
  • Permanent or Temporary (This impact the HTTP response code of the redirection, 301 or 302)
  • Enabled
  • Redirect only if 404 (to manage potentially dead links)

Security

There is a built-in security when creating/modifying redirection that prevent creating an infinite loop. This work with infinite recursive checking.

A second security is to prevent same source redirection leading to inconstant redirect.

Automatic redirect

There is a built-in feature that allows you to automatically create a redirection when changing a product slug. It also handles the case where it would create an infinite loop and remove the unnecessary redirect.

Example: Having a slug like /products/a, renaming it to /products/b then renaming it to /products/a will result in a redirect from b to a and will automatically delete the one from a to b.

Contributors

统计信息

  • 总下载量: 335.17k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 26
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 26
  • Watchers: 2
  • Forks: 27
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-10-09