> プラグイン > プラグインで作成した新規ページのテンプレートの探索について |
プラグイン
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2016/8/10 11:16
対応状況: −−−
|
プラグインで作成した新規ページのテンプレートの探索について eccube3を触り始めたばかりなので、認識が間違っていたらすみません。
参考サイト: http://ec-cube.github.io/template.html
この場合、./app/template/default/Hoge/hoge.twig を設置しない限り、 フロント側の表示、管理画面のページ編集時の読み込みがされない。 参考サイトを見る限り探索する仕様と思うのですが… ./src/Eccube/Repository/PageLayoutRepository.php の getReadTemplateFile(…)で、 プラグインのディレクトリが考慮されたいない為のように思うのでがどうでしょうか? 因みに、公開されているプラグインの中には、pathやfile_nameを以下のように./Plugin/以下を指定されているのを見かけます。 Hoge/Resource/template/Hoge/hoge.twig この場合、表示はするのですが以下の2点の不具合が起きると思います。 ・管理画面からページ編集しようとするとファイル名の長さチェックでエラーになる。 例)/{{eccubeインストールディレクトリまでのパス}}/app/template/default/../../Plugin/Hoge/Resource/template/Hoge/hoge.twig ・仮に編集できたとしても、プラグイン本体のテンプレートを編集するため、プラグインのアップデートで上書きされてしまう。 環境は以下の通りです。 CentOS 7.2 ECCUBE 3.0.10 PHP 7.0.7 PostgreSQL 9.5.3 |
|
shhirose |
投稿日時: 2016/8/14 9:23
対応状況: −−−
|
一人前 登録日: 2014/4/24 居住地: 投稿: 94 |
Re: プラグインで作成した新規ページのテンプレートの探索について その認識で問題ありません。
私はフロント画面をプラグインで実装する場合は、プラグインインストール時に app/template/default/ に 対象の twig ファイルをコピーし、ページは削除不可としています。 もちろん、Controller では app/template/default/ からのパスを指定しています。 ※管理画面の場合は編集は行わないので、app/Plugin/ からのパスを指定します。
|
ゲスト |
投稿日時: 2016/8/16 9:31
対応状況: −−−
|
Re: プラグインで作成した新規ページのテンプレートの探索について shhirose様
ご返信ありがとうございます。 引用: app/template/default/ に 対象の twig ファイルをコピー やはり、フロント側はコピーで対応されているのですね。 フロント側の新規ページ実装時のurlを任意のもの(/user_data/…以外)にし、 それをプラグインによる実装を考えたのですが、管理画面>ページ管理からの編集で引っかかった次第です。 Controller に app/template/default/ からのパスを指定することで、 app/Plugin/[plugin_code]/Resource/template/ も探索する仕様と思ったのですが、 ソースを読む限り、現状は違うということですね。 |
|
shhirose |
投稿日時: 2016/8/16 10:57
対応状況: −−−
|
一人前 登録日: 2014/4/24 居住地: 投稿: 94 |
Re: プラグインで作成した新規ページのテンプレートの探索について 引用:
プラグイン側は、app/Plugin からのパスになるので、どうしても乖離が発生してしまいますね。
|
ゲスト |
投稿日時: 2016/8/16 14:42
対応状況: 解決済
|
Re: プラグインで作成した新規ページのテンプレートの探索について shhirose様
プラグイン開発の参考にさせて頂きます。 ありがとうございました。 |
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |