app/template/default/Block/breadcrumb.twig line 1

Open in your IDE?
  1. {# パンくずリスト共通部分 #}
  2. <nav aria-label="breadcrumb">
  3.     <ol class="breadcrumb">
  4.         <li class="breadcrumb-item"><a href="{{ url('homepage') }}">TOP</a></li>
  5.         
  6.         {# 現在のページに応じて分岐 #}
  7.         {% if app.request.get('_route') starts with 'product_detail' %}
  8.             {# 商品詳細ページの場合 #}
  9.             {% if Product.ProductCategories is not empty and Product.ProductCategories|length > 0 %}
  10.                 {% set ProductCategory = Product.ProductCategories[0] %}
  11.                 {% set Category = ProductCategory.Category %}
  12.                 {% for Path in Category.path %}
  13.                     <li class="breadcrumb-item">
  14.                         <a href="{{ url('product_list', {'category_id': Path.id}) }}">{{ Path.name }}</a>
  15.                     </li>
  16.                 {% endfor %}
  17.                 <li class="breadcrumb-item active" aria-current="page">{{ Product.name }}</li>
  18.             {% else %}
  19.                 <li class="breadcrumb-item"><a href="{{ url('product_list') }}">商品一覧</a></li>
  20.                 <li class="breadcrumb-item active" aria-current="page">{{ Product.name }}</li>
  21.             {% endif %}
  22.             
  23.         {% elseif app.request.get('_route') starts with 'product_list' %}
  24.             {# 商品一覧ページの場合 #}
  25.             {% if Category is defined and Category is not null %}
  26.                 {# カテゴリが指定されている場合 #}
  27.                 {% for Path in Category.path %}
  28.                     {% if not loop.last %}
  29.                         <li class="breadcrumb-item">
  30.                             <a href="{{ url('product_list', {'category_id': Path.id}) }}">{{ Path.name }}</a>
  31.                         </li>
  32.                     {% else %}
  33.                         <li class="breadcrumb-item active" aria-current="page">{{ Path.name }}</li>
  34.                     {% endif %}
  35.                 {% endfor %}
  36.             {% else %}
  37.                 {# カテゴリが指定されていない場合(全商品一覧) #}
  38.                 <li class="breadcrumb-item active" aria-current="page">商品一覧</li>
  39.             {% endif %}
  40.         
  41.         {# 会員登録関連ページ #}
  42.         {% elseif app.request.get('_route') starts with 'entry' %}
  43.             {% if app.request.get('_route') == 'entry' %}
  44.                 <li class="breadcrumb-item active" aria-current="page">会員登録</li>
  45.             {% elseif app.request.get('_route') == 'entry_complete' %}
  46.                 <li class="breadcrumb-item"><a href="{{ url('entry') }}">会員登録</a></li>
  47.                 <li class="breadcrumb-item active" aria-current="page">登録完了</li>
  48.             {% elseif app.request.get('_route') == 'entry_activate' %}
  49.                 <li class="breadcrumb-item"><a href="{{ url('entry') }}">会員登録</a></li>
  50.                 <li class="breadcrumb-item active" aria-current="page">アカウント有効化</li>
  51.             {% endif %}
  52.         
  53.         {# カートページ #}
  54.         {% elseif app.request.get('_route') == 'cart' %}
  55.             <li class="breadcrumb-item active" aria-current="page">カート</li>
  56.         
  57.         {# 注文関連ページ #}
  58.         {% elseif app.request.get('_route') starts with 'shopping' %}
  59.             <li class="breadcrumb-item"><a href="{{ url('cart') }}">カート</a></li>
  60.             {% if app.request.get('_route') == 'shopping' %}
  61.                 <li class="breadcrumb-item active" aria-current="page">ご注文手続き</li>
  62.             {% elseif app.request.get('_route') == 'shopping_confirm' %}
  63.                 <li class="breadcrumb-item"><a href="{{ url('shopping') }}">ご注文手続き</a></li>
  64.                 <li class="breadcrumb-item active" aria-current="page">ご注文内容確認</li>
  65.             {% elseif app.request.get('_route') == 'shopping_complete' %}
  66.                 <li class="breadcrumb-item"><a href="{{ url('shopping') }}">ご注文手続き</a></li>
  67.                 <li class="breadcrumb-item"><a href="{{ url('shopping_confirm') }}">ご注文内容確認</a></li>
  68.                 <li class="breadcrumb-item active" aria-current="page">ご注文完了</li>
  69.             {% endif %}
  70.             
  71.         {# お問い合わせページ #}
  72.         {% elseif app.request.get('_route') starts with 'contact' %}
  73.             {% if app.request.get('_route') == 'contact' %}
  74.                 <li class="breadcrumb-item active" aria-current="page">お問い合わせ</li>
  75.             {% elseif app.request.get('_route') == 'contact_complete' %}
  76.                 <li class="breadcrumb-item"><a href="{{ url('contact') }}">お問い合わせ</a></li>
  77.                 <li class="breadcrumb-item active" aria-current="page">送信完了</li>
  78.             {% endif %}
  79.             
  80.         {# マイページ関連 #}
  81.         {% elseif app.request.get('_route') starts with 'mypage' %}
  82.             {% if app.request.get('_route') == 'mypage_login' %}
  83.                 <li class="breadcrumb-item active" aria-current="page">ログイン</li>
  84.             {% else %}
  85.                 <li class="breadcrumb-item"><a href="{{ url('mypage') }}">マイページ</a></li>
  86.                 {% if app.request.get('_route') == 'mypage' %}
  87.                     <li class="breadcrumb-item active" aria-current="page">ご注文履歴</li>
  88.                 {% elseif app.request.get('_route') == 'mypage_history' %}
  89.                     <li class="breadcrumb-item active" aria-current="page">ご注文履歴詳細</li>
  90.                 {% elseif app.request.get('_route') == 'mypage_favorite' %}
  91.                     <li class="breadcrumb-item active" aria-current="page">お気に入り一覧</li>
  92.                 {% elseif app.request.get('_route') == 'mypage_change' %}
  93.                     <li class="breadcrumb-item active" aria-current="page">会員情報編集</li>
  94.                 {% elseif app.request.get('_route') == 'mypage_change_complete' %}
  95.                     <li class="breadcrumb-item"><a href="{{ url('mypage_change') }}">会員情報編集</a></li>
  96.                     <li class="breadcrumb-item active" aria-current="page">編集完了</li>
  97.                 {% elseif app.request.get('_route') == 'mypage_delivery' %}
  98.                     <li class="breadcrumb-item active" aria-current="page">お届け先一覧</li>
  99.                 {% elseif app.request.get('_route') == 'mypage_delivery_new' %}
  100.                     <li class="breadcrumb-item"><a href="{{ url('mypage_delivery') }}">お届け先一覧</a></li>
  101.                     <li class="breadcrumb-item active" aria-current="page">新規お届け先追加</li>
  102.                 {% elseif app.request.get('_route') == 'mypage_delivery_edit' %}
  103.                     <li class="breadcrumb-item"><a href="{{ url('mypage_delivery') }}">お届け先一覧</a></li>
  104.                     <li class="breadcrumb-item active" aria-current="page">お届け先編集</li>
  105.                 {% elseif app.request.get('_route') == 'mypage_withdraw' %}
  106.                     <li class="breadcrumb-item active" aria-current="page">退会手続き</li>
  107.                 {% elseif app.request.get('_route') == 'mypage_withdraw_complete' %}
  108.                     <li class="breadcrumb-item"><a href="{{ url('mypage_withdraw') }}">退会手続き</a></li>
  109.                     <li class="breadcrumb-item active" aria-current="page">退会完了</li>
  110.                 {% endif %}
  111.             {% endif %}
  112.             
  113.         {# パスワードリセット関連 #}
  114.         {% elseif app.request.get('_route') starts with 'forgot' %}
  115.             {% if app.request.get('_route') == 'forgot' %}
  116.                 <li class="breadcrumb-item active" aria-current="page">パスワードリセット</li>
  117.             {% elseif app.request.get('_route') == 'forgot_complete' %}
  118.                 <li class="breadcrumb-item"><a href="{{ url('forgot') }}">パスワードリセット</a></li>
  119.                 <li class="breadcrumb-item active" aria-current="page">メール送信完了</li>
  120.             {% elseif app.request.get('_route') == 'forgot_reset' %}
  121.                 <li class="breadcrumb-item"><a href="{{ url('forgot') }}">パスワードリセット</a></li>
  122.                 <li class="breadcrumb-item active" aria-current="page">パスワード再設定</li>
  123.             {% endif %}
  124.         {% endif %}
  125.     </ol>
  126. </nav>
  127. {# デバッグ用(必要に応じて有効化)
  128. <div style="display:none;">
  129.     現在のルート: {{ app.request.get('_route') }}
  130. </div>
  131. #}