バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
min4test
投稿日時: 2018/5/25 12:07
対応状況: −−−
新米
登録日: 2018/4/22
居住地:
投稿: 7
macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
EC-CUBEのバージョンは3.0.15です。
ブロックで作成したサイドメニューにmacroをつかってカテゴリー一覧を追加したところ
これまで動いていたsetの値が取得できていなく、メニューのカレントがつかなくなってしまいました。

無知で申し訳ないのですが、
macroを使った場合はset値を取得できないのでしょうか?
何か取得するための処理が必要になるのでしょうか?
ご教授願います。
umebius
投稿日時: 2018/5/25 12:56
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
作成されたブロックのコードを提示していただくことは可能でしょうか?

読んだだけでは今ひとつ分からなかったのでコードがわかると回答しやすいかなと思います。
min4test
投稿日時: 2018/5/25 13:27
対応状況: −−−
新米
登録日: 2018/4/22
居住地:
投稿: 7
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
失礼しました。
以下が該当のコードになります。



{% macro tree(Category) %}
{% if Category.children|length > 0 %}
<li class="accordion slide_menu">
{% else %}
<li class="slide_menu">
{% endif %}
<a href="{{ url('product_list') }}?category_id={{ Category.id }}" class="slide_menu_link">
{{ Category.name }}
</a>
{% if Category.children|length > 0 %}
<ul class="cd">
{% for ChildCategory in Category.children %}
{{ _self.tree(ChildCategory) }}
{% endfor %}
</ul>
{% endif %}
</li>
{% endmacro %}

<div class="menu">
<ul>
<li>
{% if menu_current == 'store' %}
<a href="{{ url(app.config.user_data_route, {'route': 'store'}) }}" class="is_current">トップ</a>
{% else %}
<a href="{{ url(app.config.user_data_route, {'route': 'store'}) }}">トップ</a>
{% endif %}
</li>
<li>
{% if menu_current == 'cart' %}
<a href="{{ url('cart') }}" class="is_current">カート</a>
{% else %}
<a href="{{ url('cart') }}">カート</a>
{% endif %}
</li>
<li class="ico_mypage">
{% if menu_current == 'mypage' %}
<a href="{{ url('mypage') }}" class="is_current">マイページ</a>
{% else %}
<a href="{{ url('mypage') }}">マイページ</a>
{% endif %}
</li>
<li class="slide_menu_wrap">
<span id="tgrSlideMenu" class="menu_link ico_category">カテゴリー</span>
<ul class="slide_menu">
{% for Category in Categories %}
{{ _self.tree(Category) }}
{% endfor %}
</ul>
</li>
</ul>
</div>
umebius
投稿日時: 2018/5/25 13:33
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
ありがとうございます。
質問なのですがmenu_currentという変数はコントローラから渡されてきているものでしょうか?

また、setをどこで使用される想定なのか教えていただけますと幸いです。
min4test
投稿日時: 2018/5/25 14:10
対応状況: −−−
新米
登録日: 2018/4/22
居住地:
投稿: 7
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
menu_currentは管理画面のページ管理のtwigで以下のように指定しています。
コントローラーを通して渡す必要があるのでしょうか?

{% set menu_current = 'store' %}


setはただ単に現在表示中のメニューは色をCSSで変えるためだけのものです。
umebius
投稿日時: 2018/5/25 14:49
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
そうですね、requestオブジェクトを使用するなど色々方法はあります。
ブロックのコントローラーから渡すのが無難かと思います。

後は色を変えるだけであれば、is_currentではなく個別のクラスを付けておいてbodyに付くクラス名(ページに寄って違う)で切り分けることもできそうに思います。
min4test
投稿日時: 2018/5/25 15:06
対応状況: −−−
新米
登録日: 2018/4/22
居住地:
投稿: 7
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
迅速にご対応いただきありがとうございました。
他のやり方で対応します。

ちなみにどうしてdtb_blockのlogic_flgは1にしてmacroを使ったら急にsetが拾えなくなるのか
検索しても見つからなくご教授いただきたいと思ったのですがご存知でしょうか?
umebius
投稿日時: 2018/5/25 15:16
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
logic_flg = 1だとサブリクエストとして別のURLを持たせて読み込みます。
ざっくりいうとiframeみたいな形です。

logic_flg = 0だと、親のtwigからブロックのtwigを単純に読み込んでいるだけです。

それが理由だと思います。


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

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

min4test
投稿日時: 2018/5/25 16:35
対応状況: −−−
新米
登録日: 2018/4/22
居住地:
投稿: 7
Re: macroを使ってサイドメニューにカテゴリー一覧を表示したら、setで指定していた値が拾えなくなりました。
umebius様

迅速にご対応いただきありがとうございます!
とても勉強になりました!!
ご教授いただきありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,014名です
総投稿数は110,020件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
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.