バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > 開発について > Twigで利用できるasset関数を PHPでも利用したい

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sheep
投稿日時: 2019/4/27 14:17
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 14
Twigで利用できるasset関数を PHPでも利用したい
▼テンプレート
[EC-CUBE] 4.0.2
[PHP] 7.2

EC-CUBEからアップロードしたファイルをブラウザで表示するためのURLを、PHP(製作中のプラグイン)から取得したいです。

Symfonyでは下記ページの「PHPタブ」の方で実現できるようなのですが

http://symdoc.kwalk.jp/doc/book/templating#%E3%82%A2%E3%82%BB%E3%83%83%E3%83%88%E3%81%B8%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF

EC-CUBEの $view に相当するものがわからず、質問させていただきました。

もしご存知でしたら、教えていただけると助かります。
umebius
投稿日時: 2019/4/28 0:16
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: Twigで利用できるasset関数を PHPでも利用したい
{{ asset('noimage_plugin_list.png', 'save_image') }}
はコントローラで次のように書けます。

$this->get('assets.packages')->getUrl('noimage_plugin_list.png', 'save_image');





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

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

sheep
投稿日時: 2019/4/28 10:16
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 14
Re: Twigで利用できるasset関数を PHPでも利用したい
umebius 様

ご回答ありがとうございます。
いつも本当に助かります。

質問を続けさせてください。すみません。

こちらは、(コントローラからではなく)イベントをフックした時に利用する方法はありますか?

EccubeEvents::ADMIN_PRODUCT_EDIT_COMPLETE
上記のイベントフック時に、利用したいと考えています。

もちろん、既に教えていただいた方法で、AdminのProductControllerのedit関数のルーティングをオーバーライドすれば実現可能ですよね。
ただ、オーバーライドよりもイベントフックの方が他プラグインへの競合の可能性を下げられるので、可能であればイベントフックから実現できるかどうかを知りたいです。
sheep
投稿日時: 2019/4/28 10:28
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 14
Re: Twigで利用できるasset関数を PHPでも利用したい
すみません!解決しました!

public function __construct(ContainerInterface $container) { 
    $container->get('assets.packages')->getUrl('noimage_plugin_list.png', 'save_image'); 
}


上記で取得できました!
解決です。ご回答ありがとうございました!
sheep
投稿日時: 2019/5/1 11:00
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 14
Re: Twigで利用できるasset関数を PHPでも利用したい
※ 追記

前述の方法だと、ログにWarningが出てしまうのでContainerInterfaceを利用するのではなく、下記のようにDIを利用する方法が、より良さそうです。


// use Symfony\Component\Asset\Packages
public function __construct(Packages $packages) {
    $packages->getUrl('test.png', 'save_image');
}

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,289名です
総投稿数は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.