app/template/default/Cart/index.twig line 1

Open in your IDE?
  1. {#
  2. This file is part of EC-CUBE
  3. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  4. http://www.ec-cube.co.jp/
  5. For the full copyright and license information, please view the LICENSE
  6. file that was distributed with this source code.
  7. #}
  8. {% extends 'default_frame.twig' %}
  9. {% set body_class = 'cart_page' %}
  10. {% block main %}
  11.     <div class="ec-blockspliter ec-cartTop show-resultPC"></div>
  12.     <div class="ec-role">
  13.         <div class="ec-mypageRole">
  14.             <div class="ec-mypageRole__main">
  15.                 <div class="ec-grid4 ec-cartProgress shopping-progress show-resultPC">
  16.                     {% set step = 1 %}
  17.                     <div class="ec-grid4__cell ec-cartProgress__navItem active">
  18.                         <p>STEP{{ step }}{% set step = step + 1 %}</p>
  19.                         <p>{{ 'カート内の商品'|trans }}</p>
  20.                     </div>
  21.                     <div class="ec-grid4__cell ec-cartProgress__navItem">
  22.                         <p>STEP{{ step }}{% set step = step + 1 %}</p>
  23.                         <p>{{ 'ご注文手続き'|trans }}</p>
  24.                     </div>
  25.                     <div class="ec-grid4__cell ec-cartProgress__navItem">
  26.                         <p>STEP{{ step }}{% set step = step + 1 %}</p>
  27.                         <p>{{ 'ご注文内容確認'|trans }}</p>
  28.                     </div>
  29.                     <div class="ec-grid4__cell ec-cartProgress__navItem">
  30.                         <p>STEP{{ step }}{% set step = step + 1 %}</p>
  31.                         <p>{{ '完了'|trans }}</p>
  32.                     </div>
  33.                 </div>
  34.                 {# smart phone #}
  35.                 <div class="ec-grid4 ec-spCartProgress show-resultSP">
  36.                     {% set step = 1 %}
  37.                     <div class="ec-grid4__cell ec-spCartProgress__navItem active">
  38.                         <span style="position: relative;">
  39.                             <p class="cartProgressStep">STEP</p>
  40.                             <p class="cartProgressNum">{{ step }}{% set step = step + 1 %}</p>
  41.                             <div class="ec-spProgressBlockspliter show-resultSP"></div>
  42.                         </span>
  43.                         <p class="cartProgressLabel">{{ 'カート内の<br class="rwd_show">商品'|trans|raw }}</p>
  44.                     </div>
  45.                     <div class="ec-grid4__cell ec-spCartProgress__navItem">
  46.                         <span>
  47.                             <p class="cartProgressStep">STEP</p>
  48.                             <p class="cartProgressNum">{{ step }}{% set step = step + 1 %}</p>
  49.                         </span>
  50.                         <p class="cartProgressLabel">{{ 'ご注文<br class="rwd_show">手続き'|trans|raw }}</p>
  51.                     </div>
  52.                     <div class="ec-grid4__cell ec-spCartProgress__navItem">
  53.                         <span>
  54.                             <p class="cartProgressStep">STEP</p>
  55.                             <p class="cartProgressNum">{{ step }}{% set step = step + 1 %}</p>
  56.                         </span>
  57.                         <p class="cartProgressLabel">{{ 'ご注文内容<br class="rwd_show">確認'|trans|raw }}</p>
  58.                     </div>
  59.                     <div class="ec-grid4__cell ec-spCartProgress__navItem">
  60.                         <span>
  61.                             <p class="cartProgressStep">STEP</p>
  62.                             <p class="cartProgressNum">{{ step }}{% set step = step + 1 %}</p>
  63.                         </span>
  64.                         <p class="cartProgressLabel">{{ '完了'|trans }}</p>
  65.                     </div>
  66.                 </div>
  67.             </div>
  68.         </div>
  69.     </div>
  70.     <div class="ec-blockspliter"></div>
  71.     <div class="ec-mypageRole ec-spMypageRoleTitle headingTop">
  72.         <h1 class="ec-mypageRole__title">
  73.             {{ 'カート内の商品'|trans }}
  74.         </h1>
  75.     </div>
  76.     <div class="ec-blockspliter"></div>
  77.     <div class="ec-role ec-cartPage">
  78.         <div class="ec-mypageRole">
  79.             <div class="ec-mypageRole__main">
  80.                 {% set productStr = app.session.flashbag.get('eccube.front.request.product') %}
  81.                 {% for error in app.session.flashbag.get('eccube.front.request.error') %}
  82.                     {% set idx = loop.index0 %}
  83.                     <div class="ec-cartRole__error">
  84.                         <div class="ec-alert-warning">
  85.                             <div class="ec-alert-warning__icon"><img
  86.                                         src="{{ asset('assets/icon/exclamation-white.svg') }}"></div>
  87.                             <div class="ec-alert-warning__text">
  88.                                 {% if productStr[idx] is defined %}
  89.                                     {{ error|trans({'%product%':productStr[idx]})|nl2br }}
  90.                                 {% else %}
  91.                                     {{ error|trans|nl2br }}
  92.                                 {% endif %}
  93.                             </div>
  94.                         </div>
  95.                     </div>
  96.                 {% endfor %}
  97.                 {% for error in app.session.flashbag.get('eccube.front.cart.error') %}
  98.                     <div class="ec-cartRole__error">
  99.                         <div class="ec-alert-warning">
  100.                             <div class="ec-alert-warning__icon"><img
  101.                                         src="{{ asset('assets/icon/exclamation-white.svg') }}"></div>
  102.                             <div class="ec-alert-warning__text">
  103.                                 {{ error|trans|nl2br }}
  104.                             </div>
  105.                         </div>
  106.                     </div>
  107.                 {% endfor %}
  108.                 {% if totalQuantity > 0 %}
  109.                     {% if Carts|length > 1 %}
  110.                         <div class="ec-cartRole__error">
  111.                             <div class="ec-alert-warning">
  112.                                 <div class="ec-alert-warning__text">
  113.                                     {{ '同時購入できない商品がカートに含まれています。'|trans|nl2br }}
  114.                                 </div>
  115.                             </div>
  116.                         </div>
  117.                     {% endif %}
  118.                     <form name="form" id="form_cart" method="post" action="{{ url('cart') }}">
  119.                         {% for CartIndex,Cart in Carts %}
  120.                             {% set cartKey = Cart.cart_key %}
  121.                             {% for error in app.session.flashbag.get('eccube.front.cart.' ~ cartKey ~ '.request.error') %}
  122.                                 <div class="ec-cartRole__error">
  123.                                     <div class="ec-alert-warning">
  124.                                         <div class="ec-alert-warning__icon"><img
  125.                                                     src="{{ asset('assets/icon/exclamation-white.svg') }}"></div>
  126.                                         <div class="ec-alert-warning__text">
  127.                                             {{ error|trans|nl2br }}
  128.                                         </div>
  129.                                     </div>
  130.                                 </div>
  131.                             {% endfor %}
  132.                             {% for CartItem in Cart.CartItems %}
  133.                                 {% set ProductClass = CartItem.ProductClass %}
  134.                                 {% set Product = ProductClass.Product %}
  135.                                 <div class="ec-off1Grid">
  136.                                     <div class="ec-off1Grid__cell">
  137.                                         <div class="ec-grid3 ec-cartPage__list">
  138.                                             <div class="ec-grid3__cell ec-cartPage__detail show-resultSP">
  139.                                                 <div class="ec-cartRow__name">
  140.                                                     <a class="ec-cartPage__productTitle" target="_blank"
  141.                                                        href="{{ url('product_detail', {id : Product.id} ) }}">{{ Product.name }}</a>
  142.                                                     <label class="product-code">{{ '商品コード: '|trans }}{{ Product.code_min }}</label>
  143.                                                 </div>
  144.                                             </div>
  145.                                             <div class="ec-grid3__cell ec-cartPage__img">
  146.                                                 <div class="ec-cartRow__img">
  147.                                                     <a target="_blank"
  148.                                                        href="{{ url('product_detail', {id : Product.id} ) }}">
  149.                                                         <img src="{{ asset(Product.MainListImage|no_image_product, 'save_image') }}"
  150.                                                              alt="{{ Product.name }}"/>
  151.                                                     </a>
  152.                                                 </div>
  153.                                             </div>
  154.                                             <div class="ec-grid3__cell ec-cartPage__detail">
  155.                                                 <div class="ec-cartRow__name">
  156.                                                     <a class="ec-cartPage__productTitle show-resultPC" target="_blank"
  157.                                                        href="{{ url('product_detail', {id : Product.id} ) }}">{{ Product.name }}</a>
  158.                                                     <label class="product-code show-resultPC">{{ '商品コード: '|trans }}{{ Product.code_min }}</label>
  159.                                                     <span class="ec-cartPage__category">
  160.                                                         {% if ProductClass.ClassCategory1 and ProductClass.ClassCategory1.id %}
  161.                                                             <p>{{ ProductClass.ClassCategory1.ClassName.name }}:{{ ProductClass.ClassCategory1 }}</p>
  162.                                                         {% endif %}
  163.                                                         {% if ProductClass.ClassCategory2 and ProductClass.ClassCategory2.id %}
  164.                                                             <p>{{ ProductClass.ClassCategory2.ClassName.name }}:{{ ProductClass.ClassCategory2 }}</p>
  165.                                                         {% endif %}
  166.                                                     </span>
  167.                                                 </div>
  168.                                                 <p class="ec-cartPageQuantity">数 量</p>
  169.                                                 <div class="ec-numberInput__control">
  170.                                                     {% if CartItem.quantity > 1 %}
  171.                                                         <a href="{{ url('cart_handle_item', {'operation': 'down', 'productClassId': ProductClass.id}) }}" {{ csrf_token_for_anchor() }}
  172.                                                            class="ec-blockBtn detailProduct_btn" data-method="put"
  173.                                                            data-confirm="false">
  174.                                                             <span class="btn-minus__cart"></span>
  175.                                                         </a>
  176.                                                     {% else %}
  177.                                                         <div class="ec-cartRow__amountDownButtonDisabled">
  178.                                                             <span class="ec-cartRow__amountDownButton__icon"><span
  179.                                                                         class="btn-minus__cart"></span></span>
  180.                                                         </div>
  181.                                                     {% endif %}
  182.                                                     <input type="number" id="quantity" name="quantity" required="required"
  183.                                                            min="1" maxlength="9" class="" readonly
  184.                                                            value="{{ CartItem.quantity|number_format }}">
  185.                                                     <a href="{{ url('cart_handle_item', {'operation': 'up', 'productClassId': ProductClass.id}) }}" {{ csrf_token_for_anchor() }}
  186.                                                        class="ec-blockBtn detailProduct_btn" data-method="put"
  187.                                                        data-confirm="false">
  188.                                                         <span class="btn-plus__cart"></span>
  189.                                                     </a>
  190.                                                 </div>
  191.                                             </div>
  192.                                             <div class="ec-grid3__cell ec-cartPage__total">
  193.                                                 <div class="ec-cartRow__sutbtotal">{{ CartItem.total_price|price }}
  194.                                                     <span>&nbsp;{{ '(税込)'|trans }}</span></div>
  195.                                                 <a class="ec-icon"
  196.                                                    href="{{ url('cart_handle_item', {'operation': 'remove', 'productClassId': ProductClass.id }) }}" {{ csrf_token_for_anchor() }}
  197.                                                    data-method="put" data-message="カートから商品を削除してもよろしいですか?">
  198.                                                     <img src="{{ asset('assets/icon/cross-white.svg') }}" alt="delete">&nbsp;
  199.                                                     <p>{{ '削除する'|trans }}</p>
  200.                                                 </a>
  201.                                             </div>
  202.                                         </div>
  203.                                     </div>
  204.                                 </div>
  205.                             {% endfor %}
  206. {#                            <div class="ec-cartRole__progress">#}
  207. {#                                {% if BaseInfo.delivery_free_amount and BaseInfo.delivery_free_quantity %}#}
  208. {#                                    <br/>#}
  209. {#                                    {% if is_delivery_free[cartKey] %}#}
  210. {#                                        {{ '現在送料無料です。'|trans }}#}
  211. {#                                    {% else %}#}
  212. {#                                        {{ 'あと「<strong>%price%</strong>」または「<strong>%quantity%個</strong>」のお買い上げで<strong class="ec-color-red">送料無料</strong>になります。'|trans({ '%price%': least[cartKey]|price, '%quantity%': quantity[cartKey]|number_format })|raw }}#}
  213. {#                                    {% endif %}#}
  214. {#                                {% elseif BaseInfo.delivery_free_amount %}#}
  215. {#                                    <br/>#}
  216. {#                                    {% if is_delivery_free[cartKey] %}#}
  217. {#                                        {{ '現在送料無料です。'|trans }}#}
  218. {#                                    {% else %}#}
  219. {#                                        {{ 'あと「<strong>%price%</strong>」のお買い上げで<strong class="ec-color-red">送料無料</strong>になります。'|trans({ '%price%': least[cartKey]|price })|raw }}#}
  220. {#                                    {% endif %}#}
  221. {#                                {% elseif BaseInfo.delivery_free_quantity %}#}
  222. {#                                    <br/>#}
  223. {#                                    {% if is_delivery_free[cartKey] %}#}
  224. {#                                        {{ '現在送料無料です。'|trans }}#}
  225. {#                                    {% else %}#}
  226. {#                                        {{ 'あと「<strong>%quantity%個</strong>」のお買い上げで<strong class="ec-color-red">送料無料</strong>になります。'|trans({ '%quantity%': quantity[cartKey]|number_format })|raw }}#}
  227. {#                                    {% endif %}#}
  228. {#                                {% endif %}#}
  229. {#                            </div>#}
  230.                             <div class="ec-off1Grid">
  231.                                 <div class="ec-off1Grid__cell">
  232.                                     <div class="ec-grid3">
  233.                                         <div class="ec-grid3__cell2 cartDesc">
  234.                                             <p>{{ '商品合計金額が%price%円(税込)以上で送料無料となります。'|trans({ '%price%': BaseInfo.delivery_free_amount|number_format }) }}</p>
  235.                                         </div>
  236.                                         <div class="ec-grid3__cell ec-cartPage__list grid-extend">
  237.                                             {% set paymentAmount = 0 %}
  238.                                             <div class="cartCalc">
  239.                                                 <span>
  240.                                                     <p>{{ '小計'|trans }}</p>
  241.                                                     <p>{{ Cart.totalPrice|price }}{{ '(税込)'|trans }}</p>
  242.                                                 </span>
  243.                                                 <span>
  244.                                                     <p>{{ '送料'|trans }}</p>
  245.                                                     {% if Cart.totalPrice > BaseInfo.delivery_free_amount %}
  246.                                                         {% set paymentAmount = Cart.totalPrice %}
  247.                                                         <p>{{ '¥0'|trans }}</p>
  248.                                                     {% else %}
  249.                                                         {% if Cart.deliveryFeeTotal > 0 %}
  250.                                                             {% set paymentAmount = Cart.totalPrice + Cart.deliveryFeeTotal %}
  251.                                                             <p>{{ Cart.deliveryFeeTotal|price }}</p>
  252.                                                         {% else %}
  253.                                                             {% set paymentAmount = Cart.totalPrice + 660 %}
  254.                                                             <p>{{ '¥660'|trans }}</p>
  255.                                                         {% endif %}
  256.                                                     {% endif %}
  257.                                                 </span>
  258.                                             </div>
  259.                                             <div class="cartTotal">
  260.                                                 <p>{{ '合計'|trans }}</p>
  261.                                                 <p>{{ paymentAmount|price }}{{ '(税込)'|trans }}</p>
  262.                                             </div>
  263.                                             <div class="submitBtn">
  264.                                                 <a href="{{ path('cart_buystep', {'cart_key':cartKey}) }}">
  265.                                                     <button type="button" class="ec-blockBtn--cancel nextStep">
  266.                                                         {{ 'ご注文手続きへ'|trans }}
  267.                                                     </button>
  268.                                                 </a>
  269.                                                 {% if loop.last %}
  270.                                                     <a href="{{ path('homepage') }}">
  271.                                                         <button type="button" class="ec-blockBtn--cancel homepage">
  272.                                                             <img src="{{ asset('assets/img/common/back.svg') }}" alt="" style="width: 13px !important;" />
  273.                                                             &nbsp;&nbsp;{{ 'お買い物を続ける'|trans }}
  274.                                                         </button>
  275.                                                     </a>
  276.                                                 {% endif %}
  277.                                             </div>
  278.                                         </div>
  279.                                     </div>
  280.                                 </div>
  281.                             </div>
  282.                         {% endfor %}
  283.                     </form>
  284.                 {% else %}
  285.                     <div class="ec-off1Grid">
  286.                         {% for CartIndex,Cart in Carts %}
  287.                             {% set cartKey = Cart.cart_key %}
  288.                             {% for error in app.session.flashbag.get('eccube.front.cart.' ~ cartKey ~ '.request.error') %}
  289.                                 <div class="ec-cartRole__error">
  290.                                     <div class="ec-alert-warning">
  291.                                         <div class="ec-alert-warning__icon"><img
  292.                                                     src="{{ asset('assets/icon/exclamation-white.svg') }}"></div>
  293.                                         <div class="ec-alert-warning__text">
  294.                                             {{ error|trans|nl2br }}
  295.                                         </div>
  296.                                     </div>
  297.                                 </div>
  298.                             {% endfor %}
  299.                         {% endfor %}
  300.                             <div class="ec-off3Grid">
  301.                                 <div class="ec-off3Grid__cell">
  302.                                     <div class="ec-alert-warning">
  303.                                         <div class="ec-alert-warning__icon"><img
  304.                                                     src="{{ asset('assets/icon/exclamation-white.svg') }}"></div>
  305.                                         <div class="ec-alert-warning__text">{{ '現在カート内に商品はございません。'|trans }}</div>
  306.                                     </div>
  307.                                 </div>
  308.                             </div>
  309.                     </div>
  310.                 {% endif %}
  311.             </div>
  312.         </div>
  313.     </div>
  314.     <div class="ec-blockspliter"></div>
  315.     <div class="ec-blockempty register-block"></div>
  316. {% endblock %}