Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
0.00% |
0 / 167 |
{# | |
This file is part of EC-CUBE | |
Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved. | |
http://www.lockon.co.jp/ | |
This program is free software; you can redistribute it and/or | |
modify it under the terms of the GNU General Public License | |
as published by the Free Software Foundation; either version 2 | |
of the License, or (at your option) any later version. | |
This program is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
GNU General Public License for more details. | |
You should have received a copy of the GNU General Public License | |
along with this program; if not, write to the Free Software | |
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
#} | |
{% extends 'default_frame.twig' %} | |
{% block javascript %} | |
<script> | |
$(function() { | |
$('.add').click(function() { | |
var data = $(this).data(); | |
var idx = data.idx; | |
var item = $('#item' + idx); | |
var row = $('#item' + idx + '-0'); | |
var addrow = $(row).clone(); | |
// 行のID設定 | |
var i = 0; | |
$('#item' + idx).find('.shipping_item').each(function() { | |
$(this).attr('id', 'item' + idx + '-' + i); | |
i++; | |
}); | |
$(addrow).attr('id', 'item' + idx + '-' + i); | |
// お届け先設定 | |
i = 0; | |
$('#item' + idx).find('select').each(function() { | |
$(this).attr('name', 'form[shipping_multiple][' + idx + '][shipping][' + i + '][customer_address]'); | |
i++; | |
}); | |
$(addrow).find('select').attr('name', 'form[shipping_multiple][' + idx + '][shipping][' + i + '][customer_address]'); | |
// 数量設定 | |
i = 0; | |
$('#item' + idx).find('input').each(function() { | |
$(this).attr('name', 'form[shipping_multiple][' + idx + '][shipping][' + i + '][quantity]'); | |
i++; | |
}); | |
$(addrow).find('input').attr('name', 'form[shipping_multiple][' + idx + '][shipping][' + i + '][quantity]'); | |
// 削除ボタン設定 | |
i = 0; | |
$('#item' + idx).find('button').each(function() { | |
$(this).attr('data-itemidx', idx + '-' + i); | |
$(this).data('itemidx', idx + '-' + i); | |
if (i != 0) { | |
// 1行目以外の削除ボタンを表示 | |
$(this).removeAttr('style'); | |
} | |
i++; | |
}); | |
$(addrow).find('button').attr('data-itemidx', idx + '-' + i); | |
$(addrow).find('button').data('itemidx', idx + '-' + i); | |
$(addrow).find('button').removeAttr('style'); | |
$(item).append($(addrow)); | |
}); | |
$(document).on('click', '.delete', function() { | |
var data = $(this).data(); | |
$('#item' + data.itemidx).remove(); | |
}); | |
}); | |
</script> | |
{% endblock javascript %} | |
{% block main %} | |
<h1 class="page-heading">お届け先の複数指定</h1> | |
<div id="multiple_wrap" class="container-fluid"> | |
<form id="shipping-multiple-form" method="post" action="{{ url('shopping_shipping_multiple') }}"> | |
{{ form_widget(form._token) }} | |
<div id="multiple_list_box" class="row"> | |
<div id="multiple_list_box__body" class="col-sm-10 col-sm-offset-1"> | |
<p class="message">各商品のお届け先を選択してください。(※数量の合計は、カゴの中の数量と合わせてください。)</p> | |
{% for error in errors %} | |
<div class="text-danger">{{ error.message }}</div> | |
{% endfor %} | |
{% if is_granted('ROLE_USER') %} | |
{% else %} | |
<p><a href="{{ url('shopping_shipping_multiple_edit') }}" class="btn btn-default btn-sm">新規お届け先を追加する</a></p> | |
{% endif %} | |
{% for shipmentItem in shipmentItems %} | |
{% set idx = loop.index0 %} | |
{% set itemvalue = 0 %} | |
<hr> | |
<div id="multiple_list__item_box--{{ idx }}" class="cart_item table shipping_multiple_table"> | |
<div id="multiple_list__item_box__body--{{ idx }}" class="tbody"> | |
<div id="multiple_list__item_box_body_inner--{{ idx }}" class="item_box tr"> | |
<div id="multiple_list__item--{{ idx }}" class="td table"> | |
<div id="multiple_list__image--{{ idx }}" class="item_photo"><img src="{{ app.config.image_save_urlpath }}/{{ shipmentItem.product.MainListImage|no_image_product }}" alt="{{ shipmentItem.productName }}"/></div> | |
<dl id="multiple_list__item_detail--{{ idx }}" class="item_detail"> | |
<dt id="multiple_list__product_name--{{ idx }}" class="item_name text-default"> | |
<strong>{{ shipmentItem.productName }}</strong></dt> | |
<dd id="multiple_list__product_class_category--{{ idx }}" class="item_pattern small"> | |
<p> | |
{% if shipmentItem.productClass.classCategory1 %} | |
{{ shipmentItem.productClass.classCategory1.className }}:{{ shipmentItem.productClass.classCategory1 }} | |
<br> | |
{% endif %} | |
{% if shipmentItem.productClass.classCategory2 %} | |
{{ shipmentItem.productClass.classCategory2.className }}:{{ shipmentItem.productClass.classCategory2 }} | |
<br> | |
{% endif %} | |
</p> | |
</dd> | |
<dd id="multiple_list__total_price--{{ idx }}">小計:{{ shipmentItem.totalPrice|price }}</dd> | |
{% for key, value in compItemQuantities %} | |
{% if shipmentItem.productClass.id == key %} | |
<dd id="multiple_list__value--{{ idx }}_{{ key }}">数量:{{ value }}</dd> | |
{% set itemvalue = value %} | |
{% endif %} | |
{% endfor %} | |
</dl> | |
</div> | |
</div> | |
<!--/item_box--> | |
</div> | |
</div><!--/cart_item--> | |
<div id="item{{ idx }}"> | |
{% for shipping in form.shipping_multiple[idx].shipping %} | |
<div id="item{{ idx }}-{{ loop.index0 }}" class="shipping_item item{{ idx }} form-inline" style="margin-bottom: 5px;"> | |
<div id="multiple_list__shipping_address--{{ idx }}_{{ loop.index0 }}" class="form-group"> | |
<label>お届け先</label> | |
{{ form_widget(shipping.customer_address, {'attr': {'class': 'shipping'}}) }} | |
{{ form_errors(shipping.customer_address) }} | |
</div> | |
<div id="multiple_list__shipping_quantity--{{ idx }}_{{ loop.index0 }}" class="form-group"> | |
<label>数量</label> | |
{% for key, value in compItemQuantities %} | |
{% if shipmentItem.productClass.id == key %} | |
{% set quantity = shipping.quantity.vars.value ?: value %} | |
{{ form_widget(shipping.quantity, {'attr': {'class': 'quantity'}, 'value': quantity}) }} | |
{{ form_errors(shipping.quantity) }} | |
{% endif %} | |
{% endfor %} | |
</div> | |
<button id="button__delete--{{ idx }}_{{ loop.index0 }}" type="button" class="btn btn-default btn-sm delete" data-itemidx="{{ idx }}-{{ loop.index0 }}" style="{% if loop.index0 == 0 %}display: none;{% endif %}">削除</button> | |
</div> | |
{% endfor %} | |
</div> | |
<p id="multiple_list__add_button"> | |
<button id="button__add" type="button" class="btn btn-default btn-sm add" data-idx="{{ idx }}">お届け先追加</button> | |
</p> | |
{% endfor %} | |
<div class="extra-form"> | |
{% for f in form %} | |
{% if f.vars.name matches '[^plg*]' %} | |
{{ form_row(f) }} | |
{% endif %} | |
{% endfor %} | |
</div> | |
<div id="multiple_list__footer" class="row no-padding"> | |
<div id="multiple_list__button_menu" class="btn_group col-sm-offset-4 col-sm-4"> | |
<p id="multiple_list__confirm_button"> | |
<button id="button__confirm" type="submit" class="btn btn-primary btn-block">選択したお届け先に送る</button> | |
</p> | |
<p id="multiple_list__back_button"><a href="{{ url('shopping') }}" class="btn btn-info btn-block">戻る</a></p> | |
</div> | |
</div> | |
</div> | |
</div><!-- /.row --> | |
</form> | |
</div> | |
{% endblock %} |