バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > 開発について > twig に渡される変数をプラグイン内で参照したい

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
aaa7
投稿日時: 2015/12/28 17:02
対応状況: −−−
新米
登録日: 2015/12/28
居住地:
投稿: 4
twig に渡される変数をプラグイン内で参照したい
現在 eccube3 にてプラグインを作成しています。

twig 内の変数をプラグインのフックで取得したいのですが、可能でしょうか。
例えば /products/list 内の twig にある

- src/Eccube/Resource/template/default/Product/list.twig
<!-- ▼item_list▼ -->
<div id="item_list">
<div class="row no-padding">
{% for Product in pagination %}
<div class="col-sm-3 col-xs-6">
<div class="product_item">
<a href="{{ url('product_detail', {'id': Product.id}) }}">
<div class="item_photo">
<img src="{{ app.config.image_save_urlpath }}/{{ Product.main_list_image|no_image_product }}">
</div>
<dl>
<dt class="item_name">{{ Product.name }}</dt>
{% if Product.description_list %}
<dd class="item_comment">{{ Product.description_list|raw|nl2br }}</dd>
{% endif %}
{% if Product.hasProductClass %}
{% if Product.getPrice02Min == Product.getPrice02Max %}
<dd class="item_price">
{{ Product.getPrice02IncTaxMin|price }}
</dd>
{% else %}
<dd class="item_price">
{{ Product.getPrice02IncTaxMin|price }} 〜 {{ Product.getPrice02IncTaxMax|price }}
</dd>
{% endif %}
{% else %}
<dd class="item_price">{{ Product.getPrice02IncTaxMin|price }}</dd>
{% endif %}
</dl>
</a>
</div>
</div>
{% endfor %}
</div>

</div>
{% if pagination.totalItemCount > 0 %}


の pagination の中を下記のような自分のプラグインの中で取得することは可能でしょうか。

- app/Plugin/MyPlugin/event.yml
eccube.event.render.product_list.before:
- [productList, NORMAL]

- app/Plugin/MyPlugin/Event.php
class Event
{
public function __construct($app)
{
$this->app = $app;
}

public function productList(FilterResponseEvent $event)
{
// ????
}
}

/products/list はパラメータがわたってくるので該当するコントローラと同じ処理をすれば取得可能かもしれませんが
DB アクセスが無駄ですし /mypage/favorite などはパラメータがなかったりするので商品の一覧を取得できず、困っております。
eccube2 では LC_Page_Ex というページオブジェクトに全ての変数が入ってきていて、それと同様のことをやりたいと思っております。
tsuji
投稿日時: 2015/12/29 9:20
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: twig に渡される変数をプラグイン内で参照したい
aaa7 様


私も何度か試みましたが、EC-CUBE3のプラグイン機構だと難しいようです。
(おそらく無理なのだと思います。


生成した値の取得はhtmlからDom操作で取得するしか現在方法はありません。
もしくは、フック後にフック元と同じ処理をすることになると思います。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

aaa7
投稿日時: 2015/12/30 11:38
対応状況: −−−
新米
登録日: 2015/12/28
居住地:
投稿: 4
Re: twig に渡される変数をプラグイン内で参照したい
tsuji様

回答ありがとうございます。

> 私も何度か試みましたが、EC-CUBE3のプラグイン機構だと難しいようです。
> (おそらく無理なのだと思います。

やはりそうですか。

なにか方法を考えたいと思います。
取得するいい方法が見つかったらシェアしていただけると助かります。
aaa7
投稿日時: 2016/3/10 12:05
対応状況: 解決済
新米
登録日: 2015/12/28
居住地:
投稿: 4
Re: twig に渡される変数をプラグイン内で参照したい
EC-CUBE のバージョンが 3.0.9 になり TemplateEvent というものが追加されて取得可能になったようです。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.