Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
0.00% |
0 / 241 |
{# | |
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' %} | |
{% set body_class = 'product_page' %} | |
{% block javascript %} | |
<script> | |
eccube.classCategories = {{ Product.class_categories|json_encode|raw }}; | |
// 規格2に選択肢を割り当てる。 | |
function fnSetClassCategories(form, classcat_id2_selected) { | |
var $form = $(form); | |
var product_id = $form.find('input[name=product_id]').val(); | |
var $sele1 = $form.find('select[name=classcategory_id1]'); | |
var $sele2 = $form.find('select[name=classcategory_id2]'); | |
eccube.setClassCategories($form, product_id, $sele1, $sele2, classcat_id2_selected); | |
} | |
{% if form.classcategory_id2 is defined %} | |
fnSetClassCategories( | |
document.form1, {{ form.classcategory_id2.vars.value|json_encode|raw }} | |
); | |
{% endif %} | |
</script> | |
<script> | |
$(function(){ | |
$('.carousel').slick({ | |
infinite: false, | |
speed: 300, | |
prevArrow:'<button type="button" class="slick-prev"><span class="angle-circle"><svg class="cb cb-angle-right"><use xlink:href="#cb-angle-right" /></svg></span></button>', | |
nextArrow:'<button type="button" class="slick-next"><span class="angle-circle"><svg class="cb cb-angle-right"><use xlink:href="#cb-angle-right" /></svg></span></button>', | |
slidesToShow: 4, | |
slidesToScroll: 4, | |
responsive: [ | |
{ | |
breakpoint: 768, | |
settings: { | |
slidesToShow: 3, | |
slidesToScroll: 3 | |
} | |
} | |
] | |
}); | |
$('.slides').slick({ | |
dots: true, | |
arrows: false, | |
speed: 300, | |
customPaging: function(slider, i) { | |
return '<button class="thumbnail">' + $(slider.$slides[i]).find('img').prop('outerHTML') + '</button>'; | |
} | |
}); | |
$('#favorite').click(function() { | |
$('#mode').val('add_favorite'); | |
}); | |
$('#add-cart').click(function() { | |
$('#mode').val('add_cart'); | |
}); | |
// bfcache無効化 | |
$(window).bind('pageshow', function(event) { | |
if (event.originalEvent.persisted) { | |
location.reload(true); | |
} | |
}); | |
}); | |
</script> | |
{% endblock %} | |
{% block main %} | |
{# todo ブロック化} | |
<div id="topicpath" class="row"> | |
{% for ProductCategory in Product.ProductCategories %} | |
<ol> | |
<li><a href="{{ url('product_list') }}">全商品</a></li> | |
{% for Category in ProductCategory.Category.path %} | |
<li><a href="{{ url('product_list') }}?category_id={{ Category.id }}">{{ Category.name }}</a></li> | |
{% endfor %} | |
<li>{{ Product.name }}</li> | |
</ol> | |
{% endfor %} | |
</div> | |
#} | |
<!-- ▼item_detail▼ --> | |
<div id="item_detail"> | |
<div id="detail_wrap" class="row"> | |
<!--★画像★--> | |
<div id="item_photo_area" class="col-sm-6"> | |
<div id="detail_image_box__slides" class="slides"> | |
{% if Product.ProductImage|length > 0 %} | |
{% for ProductImage in Product.ProductImage %} | |
<div id="detail_image_box__item--{{ loop.index }}"><img src="{{ app.config.image_save_urlpath }}/{{ ProductImage|no_image_product }}"/></div> | |
{% endfor %} | |
{% else %} | |
<div id="detail_image_box__item"><img src="{{ app.config.image_save_urlpath }}/{{ ''|no_image_product }}"/></div> | |
{% endif %} | |
</div> | |
</div> | |
<section id="item_detail_area" class="col-sm-6"> | |
<!--★商品名★--> | |
<h3 id="detail_description_box__name" class="item_name">{{ Product.name }}</h3> | |
<div id="detail_description_box__body" class="item_detail"> | |
{% if Product.ProductTag is not empty %} | |
<!--▼商品タグ--> | |
<div id="product_tag_box" class="product_tag"> | |
{% for ProductTag in Product.ProductTag %} | |
<span id="product_tag_box__product_tag--{{ ProductTag.Tag.id }}" class="product_tag_list">{{ ProductTag.Tag }}</span> | |
{% endfor %} | |
</div> | |
<hr> | |
<!--▲商品タグ--> | |
{% endif %} | |
<!--★通常価格★--> | |
{% if Product.hasProductClass -%} | |
{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %} | |
<p id="detail_description_box__class_normal_price" class="normal_price"> 通常価格:<span class="price01_default">{{ Product.getPrice01IncTaxMin|price }}</span> <span class="small">税込</span></p> | |
{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %} | |
<p id="detail_description_box__class_normal_range_price" class="normal_price"> 通常価格:<span class="price01_default">{{ Product.getPrice01IncTaxMin|price }} ~ {{ Product.getPrice01IncTaxMax|price }}</span> <span class="small">税込</span></p> | |
{% endif %} | |
{% else -%} | |
{% if Product.getPrice01Max is not null %} | |
<p id="detail_description_box__normal_price" class="normal_price"> 通常価格:<span class="price01_default">{{ Product.getPrice01IncTaxMin|price }}</span> <span class="small">税込</span></p> | |
{% endif %} | |
{% endif -%} | |
<!--★販売価格★--> | |
{% if Product.hasProductClass -%} | |
{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %} | |
<p id="detail_description_box__class_sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02IncTaxMin|price }}</span> <span class="small">税込</span></p> | |
{% else %} | |
<p id="detail_description_box__class_range_sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span> <span class="small">税込</span></p> | |
{% endif %} | |
{% else -%} | |
<p id="detail_description_box__sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02IncTaxMin|price }}</span> <span class="small">税込</span></p> | |
{% endif -%} | |
<!--▼商品コード--> | |
<p id="detail_description_box__item_range_code" class="item_code">商品コード: <span id="item_code_default"> | |
{{ Product.code_min }} | |
{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %} | |
</span> </p> | |
<!--▲商品コード--> | |
<!-- ▼関連カテゴリ▼ --> | |
<div id="relative_category_box" class="relative_cat"> | |
<p>関連カテゴリ</p> | |
{% for ProductCategory in Product.ProductCategories %} | |
<ol id="relative_category_box__relative_category--{{ ProductCategory.product_id }}_{{ loop.index }}"> | |
{% for Category in ProductCategory.Category.path %} | |
<li><a id="relative_category_box__relative_category--{{ ProductCategory.product_id }}_{{ loop.parent.loop.index }}_{{ Category.id }}" href="{{ url('product_list') }}?category_id={{ Category.id }}">{{ Category.name }}</a></li> | |
{% endfor %} | |
</ol> | |
{% endfor %} | |
</div> | |
<!-- ▲関連カテゴリ▲ --> | |
<form action="?" method="post" id="form1" name="form1"> | |
<!--▼買い物かご--> | |
<div id="detail_cart_box" class="cart_area"> | |
{% if Product.stock_find %} | |
{# 規格 #} | |
{% if form.classcategory_id1 is defined %} | |
<ul id="detail_cart_box__cart_class_category_id" class="classcategory_list"> | |
{# 規格1 #} | |
<li> | |
{{ form_widget(form.classcategory_id1) }} | |
{{ form_errors(form.classcategory_id1) }} | |
</li> | |
{# 規格2 #} | |
{% if form.classcategory_id2 is defined %} | |
<li> | |
{{ form_widget(form.classcategory_id2) }} | |
{{ form_errors(form.classcategory_id2) }} | |
</li> | |
{% endif %} | |
</ul> | |
{% endif %} | |
{# 数量 #} | |
<dl id="detail_cart_box__cart_quantity" class="quantity"> | |
<dt>数量</dt> | |
<dd> | |
{{ form_widget(form.quantity) }} | |
{{ form_errors(form.quantity) }} | |
</dd> | |
</dl> | |
<div class="extra-form"> | |
{% for f in form.getIterator %} | |
{% if f.vars.name matches '[^plg*]' %} | |
{{ form_row(f) }} | |
{% endif %} | |
{% endfor %} | |
</div> | |
{# カートボタン #} | |
<div id="detail_cart_box__button_area" class="btn_area"> | |
<ul id="detail_cart_box__insert_button" class="row"> | |
<li class="col-xs-12 col-sm-8"><button type="submit" id="add-cart" class="btn btn-primary btn-block prevention-btn prevention-mask">カートに入れる</button></li> | |
</ul> | |
{% if BaseInfo.option_favorite_product == 1 %} | |
<ul id="detail_cart_box__favorite_button" class="row"> | |
{% if is_favorite == false %} | |
<li class="col-xs-12 col-sm-8"><button type="submit" id="favorite" class="btn btn-info btn-block prevention-btn prevention-mask">お気に入りに追加</button></li> | |
{% else %} | |
<li class="col-xs-12 col-sm-8"><button type="submit" id="favorite" class="btn btn-info btn-block" disabled="disabled">お気に入りに追加済みです</button></li> | |
{% endif %} | |
</ul> | |
{% endif %} | |
</div> | |
{% else %} | |
{# 在庫がない場合は品切れボタンのみ表示 #} | |
<div id="detail_cart_box__button_area" class="btn_area"> | |
<ul class="row"> | |
<li class="col-xs-12 col-sm-8"><button type="button" class="btn btn-default btn-block" disabled="disabled">ただいま品切れ中です</button></li> | |
</ul> | |
</div> | |
{% endif %} | |
</div> | |
<!--▲買い物かご--> | |
{{ form_rest(form) }} | |
</form> | |
<!--★商品説明★--> | |
<p id="detail_not_stock_box__description_detail" class="item_comment">{{ Product.description_detail|raw|nl2br }}</p> | |
</div> | |
<!-- /.item_detail --> | |
</section> | |
<!--詳細ここまで--> | |
</div> | |
{# フリーエリア #} | |
{% if Product.freearea %} | |
<div id="sub_area" class="row"> | |
<div class="col-sm-10 col-sm-offset-1"> | |
<div id="detail_free_box__freearea" class="freearea">{{ include(template_from_string(Product.freearea)) }}</div> | |
</div> | |
</div> | |
{% endif %} | |
</div> | |
<!-- ▲item_detail▲ --> | |
{% endblock %} |