EC-CUBE / EC-CUBE/ec-cube

ルーティング名が同一の場合、CustomizeのコントローラでPluginのルーティングを上書きできない

Open
#5,250 0 comments 1 reaction 0 assignees View on GitHub
document
Dominant language
PHP
Stars
788
Forks
719
Avg merge
4d 4h
Merged PRs (30d)
39

Description

## 概要(Overview)

ルーティング名が同一の場合、CustomizeのコントローラでPluginのルーティングを上書きできない

app/Plugin/HogePlugin/Contoroller/HogeController.php

```
class HogeController extends AbstractController
{
/**
* @Route("/hoge", name="hoge")
*/
public function hoge () {
return new Response('plugin');
}
}
```

app/Customize/Contoroller/HogeController.php

```
class HogeController extends AbstractController
{
/**
* @Route("/hoge", name="hoge")
*/
public function hoge () {
return new Response('customize');
}
}
```

この時のルーティング一覧は以下の通り。

```
$ bin/console debug:r | grep hoge
hoge ANY https|http ANY /hoge
```

画面からアクセスすると、`plugin`が表示される。

## 回避方法

Customize側のルーティング名を別名にする

app/Customize/Contoroller/HogeController.php

```
class HogeController extends AbstractController
{
/**
* @Route("/hoge", name="hoge2")
*/
public function hoge () {
return new Response('customize');
}
}
```

この時のルーティング一覧は以下の通り。

```
$ bin/console debug:r | grep hoge
hoge ANY https|http ANY /hoge
hoge2 ANY https|http ANY /hoge
```

画面からアクセスすると、`customize`が表示される。

### 環境 (environment)
+ EC-CUBE: 4.1.x
+ PHP: 7.x.x
+ DB:
- PostgreSQL x.x.x
- MySQL x.x.x

## 関連情報 (Ref)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.