EC-CUBE / EC-CUBE/coupon-plugin

テンプレートのディレクトリ構造の整理

Open
#128 1 comment 0 reactions 0 assignees View on GitHub
bug enhancement
Dominant language
PHP
Stars
10
Forks
39
PR merge metrics
No merged PRs in 30d

Description

4系のプラグインにおいて、テンプレートのディレクトリ構造と不具合の状況について調査した。

インストール時にファイルが配置される。

app/template/default/Coupon4/coupon_shopping_item.twig
app/template/default/Coupon4/coupon_shopping_item_confirm.twig
app/template/default/Coupon4/mypage_history_coupon.twig

以下のようにスニペットとして利用される。

```php
$event->addSnippet('@Coupon4/default/coupon_shopping_item.twig');
```

無効化時に削除される。
作成されたファイルを編集してもフロントには反映されず、以下のファイルが優先される。
app/Plugin/Coupon4/Resource/template/default/coupon_shopping_item.twig

管理画面のページ管理から編集時に作成される

app/template/default/Coupon4/Resource/template/default/shopping_coupon.twig

以下のように利用されている。

```php
/**
* @Template("@Coupon4/default/shopping_coupon.twig")
*/
```

管理画面で編集はできるがフロントには反映されない、以下のファイルが優先される。(★)
app/Plugin/Coupon4/Resource/template/default/shopping_coupon.twig

★の問題に対して、以下のプルリクをいただいている。
https://github.com/EC-CUBE/coupon-plugin/pull/126

```php
/**
* @Template("@Coupon4/default/shopping_coupon.twig")
*/

/**
* @Template("Coupon4/Resource/template/default/shopping_coupon.twig")
*/
```

こちらの修正で以下のファイルが読み込まれるようになる。
app/template/Coupon4/Resource/template/default/shopping_coupon.twig

本当なら根本対応したいところであるが、稼働中のサイトへ影響があるので慎重に行う必要がある。

4.0.4では `app/template/plugin/[Plugin Code]` 配下に配置することで優先して読み込まれるようになる見込みである。
https://github.com/EC-CUBE/ec-cube/pull/4527
なので以下に配置するのが適切かと思われる。

app/template/plugin/Coupon4/coupon_shopping_item.twig
app/template/plugin/Coupon4/coupon_shopping_item_confirm.twig
app/template/plugin/Coupon4/mypage_history_coupon.twig
app/template/plugin/Coupon4/shopping_coupon.twig

ファイルの配置を変える必要があるのでマイナーバージョンアップでは変更しにくい。
現在も不具合があるので、実際には影響は限定的だと思われる。

4.0.3では上記に配置しても読み込まれない問題は残る。

どのように対応すべきか判断が難しいので、ご意見をいただけると嬉しいです。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.