プラグイン > 開発について > 4系プラグインで既存機能のレンダリング先を変更 |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tien |
投稿日時: 2019/5/3 20:04
対応状況: −−−
|
新米 登録日: 2019/5/3 居住地: 投稿: 3 |
4系プラグインで既存機能のレンダリング先を変更 海外から4系のプラグイン開発の初心者です。
フロント側のお問い合わせ画面はContact/index.twigからレンダリングされて、プラグイン開発でこのテンプレート先を変更することができますでしょうか。 例えば:
|
umebius |
投稿日時: 2019/5/3 23:06
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 4系プラグインで既存機能のレンダリング先を変更 目的にもよりますが、プラグイン内のコントローラでcontactのルーティングを上書きしてテンプレートを Contact/test.twigに変更するのが簡単かなと思います
|
tien |
投稿日時: 2019/5/6 13:26
対応状況: −−−
|
新米 登録日: 2019/5/3 居住地: 投稿: 3 |
Re: 4系プラグインで既存機能のレンダリング先を変更 umebiusさん、ご返信ありがとうございます。
初心者なので、もうちょっと詳しく説明していただけませんでしょうか。 どういう風に・どの方法で実装すればいいのか、今想像がつきませんので、困っています。 また、疑問なのですが、プラグイン内のコントローラで実装だと言われたら、プラグインのコントローラに通じなくても効果があるということでしょうか。 どうしてこいう質問かと言うと、フロント側のコントローラは
よろしくお願いいたします。 |
umebius |
投稿日時: 2019/5/6 22:31
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 4系プラグインで既存機能のレンダリング先を変更 新しいコントローラーを作るときに、アノテーション「@Routing」を元のコントローラーと同じものに揃えることがポイントです。
下記の記事が参考になるかと思います。 EC-CUBE4 既存のURLをCustomizeディレクトリやプラグインのコントローラーで上書きする 公式ドキュメント http://doc4.ec-cube.net/customize_controller#ec-cube%E6%97%A2%E5%AD%98%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%92%E4%B8%8A%E6%9B%B8%E3%81%8D%E3%81%99%E3%82%8B
|
tien |
投稿日時: 2019/5/7 20:16
対応状況: −−−
|
新米 登録日: 2019/5/3 居住地: 投稿: 3 |
Re: 4系プラグインで既存機能のレンダリング先を変更 教えていただき誠にありがとうございます。
提供して頂くURLを参考にして上書きできましたが、この方法でやればコントローラ内のロジックもコピーしないといけませんでしょうか。 ロジックを変えずにTemplate先を変更したいだけなので。 勉強不足で、何度も質問を投げて申し訳ありませんが、よろしくお願いいたします。 |
umebius |
投稿日時: 2019/5/12 1:55
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 4系プラグインで既存機能のレンダリング先を変更 そうですね、上記の方法ですとコントローラ内のロジックもコピーすることになります。
通常はテンプレートは差し替えずにjavascript等で変更したい場所だけ書き換える方が良いと思いますが もしテンプレートを差し替えようと思えばプラグインからKernelのイベントなどで差し替えることは可能かもしれません $request->attributes->set('_template', new Template(['template' => 'xxxxxxxx.twig'])); |
a-zumi |
投稿日時: 2019/5/15 20:20
対応状況: −−−
|
半人前 登録日: 2017/4/20 居住地: 投稿: 24 |
Re: 4系プラグインで既存機能のレンダリング先を変更
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |