Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

テーマをコピーした際にヘルパーの重複エラーが表示される #3978

Open
2 tasks
ryuring opened this issue Nov 5, 2024 · 7 comments
Open
2 tasks
Labels
Bug バグ

Comments

@ryuring
Copy link
Collaborator

ryuring commented Nov 5, 2024

概要

テーマをコピーした際、プラグインクラス({ThemeNamePlugin})は、namespace を変更しているが、ヘルパーが存在した場合に変更できていないため、コピーしたテーマを適用後、フロントページでヘルパーの重複エラーが表示される。

baserCMS version : 5.1.3

TODO

  • ヘルパーフォルダを走査
  • 各ヘルパフォルダの namespace を変更する
@ryuring
Copy link
Collaborator Author

ryuring commented Nov 5, 2024

@uchin0 こちら、岩崎さんに依頼してもらえますか?

@ryuring ryuring added the Bug バグ label Nov 5, 2024
@kk-uchino
Copy link
Collaborator

@IwasakiRyuichi
こちら、ご対応お願いします。

@IwasakiRyuichi
Copy link
Contributor

@ryuring

この件ですが、内容を十分に理解できていないためいくつか質問させてください。

・ このバグの原因は、Cake\View\Helper;を使用していることでnamespaceの変更が出来ず、ヘルパーが重複しているためエラーが発生している という認識でいるのですが合ってますでしょうか?

・helperフォルダの走査というのは、Cake\View\Helperフォルダを見るで合ってますでしょうか?また、走査するにあたってしっかり確認したほうが良い点なのはありますでしょうか。

・各へルパフォルダのnamespace変更ですが、namespaceはどのような名前がよろしいでしょうか。

曖昧で分かりずらいところが多くて申し訳ありません。お時間ある際にお目通しいただければと思います。よろしくお願いします。

@ryuring
Copy link
Collaborator Author

ryuring commented Dec 19, 2024

・ このバグの原因は、Cake\View\Helper;を使用していることでnamespaceの変更が出来ず、ヘルパーが重複しているためエラーが発生している という認識でいるのですが合ってますでしょうか?

テーマをコピーする際、ヘルパもコピーされるのですが、ヘルパの名前空間が同じであるためヘルパーが重複した状態となり絵エラーになります。

・helperフォルダの走査というのは、Cake\View\Helperフォルダを見るで合ってますでしょうか?また、走査するにあたってしっかり確認したほうが良い点なのはありますでしょうか。

テーマ内の Helper フォルダの走査になります。もしかしたら、テーマ内に、ヘルパが複数存在することもあるかもしれませんので、/plugins/{コピー先のテーマ}/src/View/Helper/ 内をチェックし、調整対象のヘルパを洗い出すという意味になります。

・各へルパフォルダのnamespace変更ですが、namespaceはどのような名前がよろしいでしょうか。

\{新しいテーマ名}\View\Helper\{対象ヘルパ名} になると思います。

@IwasakiRyuichi

@IwasakiRyuichi
Copy link
Contributor

@ryuring

デフォルトで用意されているBcThemeSampleテーマをコピーしてBcThemaSampleCopyテーマを作り、Helperのnamespaceを\BcThemeSampleCopy\view・・・にすれば500エラーが起きずに正常に表示できました。

しかしBcThemeSampleCopyをコピーしてBcThemeSampleCopyCopyテーマを作ってみるとnamespaceの箇所が\BcThemeSampleCopy\viewになっていたのでバグの解消とは至っていません。

いい感じにnamespaceにコピー先のテーマがnamespaceにつけれる方法を探しているところです。

@ryuring
Copy link
Collaborator Author

ryuring commented Dec 20, 2024

@IwasakiRyuichi BcUtil::changePluginNameSpace() や、BcUtil::changePluginClassName() あたりを参考にしてみてください

@IwasakiRyuichi
Copy link
Contributor

@ryuring

途中報告です。
namespaceを動的に変更することまではできましたが、クラス名に.phphelperというのがついてしまいNot Foundになってしまっているので、それの修正をしています。

スクリーンショット 2024-12-24 18 28 42 スクリーンショット 2024-12-24 18 28 32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug バグ
Projects
None yet
Development

No branches or pull requests

3 participants