バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sheep
投稿日時: 2019/4/27 14:17
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 11
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
居住地: 東京日本橋
投稿: 1296
Re: Twigで利用できるasset関数を PHPでも利用したい
{{ asset('noimage_plugin_list.png', 'save_image') }}
はコントローラで次のように書けます。

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





----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

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

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

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

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

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

もちろん、既に教えていただいた方法で、AdminのProductControllerのedit関数のルーティングをオーバーライドすれば実現可能ですよね。
ただ、オーバーライドよりもイベントフックの方が他プラグインへの競合の可能性を下げられるので、可能であればイベントフックから実現できるかどうかを知りたいです。
sheep
投稿日時: 2019/4/28 10:28
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 11
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
居住地:
投稿: 11
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.co

統計情報

総メンバー数は45,095名です
総投稿数は91,732件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1894
4
468
1746
5
yuh
1584
6
umebius
1296
7
red
1278
8
fukap
907
9
tsuji
837
10
shutta
827
11 ramrun 789
12
tao_s
745
13
h_tanaka
728
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.