バージョン選択

フォーラム

メニュー

オンライン状況

58 人のユーザが現在オンラインです。 (46 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 58
もっと...

サイト内検索

プラグイン > 開発について > 4系プラグインで既存機能のレンダリング先を変更

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tien
投稿日時: 2019/5/3 20:04
対応状況: −−−
新米
登録日: 2019/5/3
居住地:
投稿: 3
4系プラグインで既存機能のレンダリング先を変更
海外から4系のプラグイン開発の初心者です。
フロント側のお問い合わせ画面はContact/index.twigからレンダリングされて、プラグイン開発でこのテンプレート先を変更することができますでしょうか。

例えば:
Contact/index.twig → Contact/test.twig

umebius
投稿日時: 2019/5/3 23:06
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 4系プラグインで既存機能のレンダリング先を変更
目的にもよりますが、プラグイン内のコントローラでcontactのルーティングを上書きしてテンプレートを Contact/test.twigに変更するのが簡単かなと思います


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

tien
投稿日時: 2019/5/6 13:26
対応状況: −−−
新米
登録日: 2019/5/3
居住地:
投稿: 3
Re: 4系プラグインで既存機能のレンダリング先を変更
umebiusさん、ご返信ありがとうございます。
初心者なので、もうちょっと詳しく説明していただけませんでしょうか。
どういう風に・どの方法で実装すればいいのか、今想像がつきませんので、困っています。
また、疑問なのですが、プラグイン内のコントローラで実装だと言われたら、プラグインのコントローラに通じなくても効果があるということでしょうか。
どうしてこいう質問かと言うと、フロント側のコントローラは
src/Eccube/Controller/ContactController.php
、プラグインのコントローラは
app/Plugin/TestingPlugin/Controller/Admin/TestingController.php
 になります。なので、TestingControllerでどういう風に実装すればいいですか、ご指導お願いいたします。
よろしくお願いいたします。
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


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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系プラグインで既存機能のレンダリング先を変更
EC-CUBEが用意したイベントでテンプレートを差し替えることも可能です。

https://a-zumi.net/eccube4-change-product-list-template/
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,282名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.