{% extends 'default_frame.twig' %}
{% set body_id = 'product_page' %}
{% block stylesheet %}
<link rel="stylesheet" href="//unpkg.com/scroll-hint@1.1.10/css/scroll-hint.css">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.min.css">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.css">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/luminous-lightbox@2.4.0/dist/luminous-basic.min.css" />
<style>
.item_detail_icon {
display: inline-block;
margin-bottom: 10px;
margin-right: 10px;
}f
.item_detail .item_detail_img .subimg .thumbnail {
cursor: pointer;
}
.item_detail .item_detail_img .mainimg,
.item_detail .item_detail_img .subimg {
display: none;
}
.item_detail .item_detail_img .mainimg.slick-initialized,
.item_detail .item_detail_img .subimg.slick-initialized {
display: block;
}
.item_detail2 .table_dl dl{
margin-right: -1px;
}
</style>
{% endblock %}
{% block javascript %}
<script src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/luminous-lightbox@2.4.0/dist/luminous.min.js"></script>
<script src="//unpkg.com/scroll-hint@1.1.10/js/scroll-hint.js"></script>
<script>
eccube.classCategories = {{ class_categories_as_json(Product) | 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(
$('#form1'), {{ form.classcategory_id2.vars.value | json_encode | raw }}
);
{% elseif form.classcategory_id1 is defined %}
eccube.checkStock($('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value | json_encode | raw }}, null);
{% endif %}
</script>
<script>
$(function () {
$('.add-cart').on('click', function (event) {
{% if form.classcategory_id1 is defined %}
// 規格1フォームの必須チェック
if ($('#classcategory_id1').val() == '__unselected' || $('#classcategory_id1').val() == '') {
$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
$('#classcategory_id1')[0].setCustomValidity('');
}
{% endif %}
{% if form.classcategory_id2 is defined %}
// 規格2フォームの必須チェック
if ($('#classcategory_id2').val() == '__unselected' || $('#classcategory_id2').val() == '') {
$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
$('#classcategory_id2')[0].setCustomValidity('');
}
{% endif %}
// 個数フォームのチェック
if ($('#quantity').val() < 1) {
$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
return true;
} else {
$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
$form = $('#form1');
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: $form.serialize(),
dataType: 'json',
beforeSend: function (xhr, settings) {
// Buttonを無効にする
$('.add-cart').prop('disabled', true);
}
}).done(function (data) {
// レスポンス内のメッセージをalertで表示
$.each(data.messages, function () {
$('#ec-modal-header').html(this.replace(/[\n\r]/g, "<br />"));
});
if(data.done){
$(".ec-modal .ec-inlineBtn--action").show();
}else{
// 成功していなかったら非表示
$(".ec-modal .ec-inlineBtn--action").hide();
}
$('.ec-modal').show()
// カートブロックを更新する
$.ajax({
url: "{{ url('block_cart') }}",
type: 'GET',
dataType: 'html'
}).done(function (html) {
$('.ec-headerRole__cart').html(html);
});
}).fail(function (data) {
alert('{{ 'カートへの追加に失敗しました。'|trans }}');
}).always(function (data) {
// Buttonを有効にする
$('.add-cart').prop('disabled', false);
});
});
});
$('.ec-modal-wrap').on('click', function (e) {
// モーダル内の処理は外側にバブリングさせない
e.stopPropagation();
});
$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function () {
$('.ec-modal').hide()
});
$('.item_detail .item_detail_info .goods_memo').each(function () {
if ($.trim($(this).text()) == '') {
$(this).css('display', 'none');
}
});
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "{{ Product.name }}",
"image": [
{% for img in Product.ProductImage %}
"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}"{% if not loop.last %},{% endif %}
{% else %}
"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}"
{% endfor %}
],
"description": "{{ Product.description_list | default(Product.description_detail) | replace({'\n': '', '\r': ''}) | slice(0,300) }}",
{% if Product.code_min %}
"sku": "{{ Product.code_min }}",
{% endif %}
"offers": {
"@type": "Offer",
"url": "{{ url('product_detail', {'id': Product.id}) }}",
"priceCurrency": "{{ eccube_config.currency }}",
"price": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
"availability": "{{ Product.stock_find ? "InStock" : "OutOfStock" }}"
}
}
</script>
{% endblock %}
{% block sub_area %}
{% if Product.ProductCategories is not empty %}
{% set displayed_category_ids = [] %}
<ul class="pankuzu">
<li><a href="{{ url('homepage') }}">トップ</a></li>
{% set exclude_ids = [32, 31, 30] %}
{% for ProductCategory in Product.ProductCategories %}
{# {% if loop.last %}
<ul class="pankuzu">
<li><a href="{{ url('homepage') }}">トップ</a></li>
{% for Category in ProductCategory.Category.path %}
<li>
<a href="{{ url('product_list') }}?category_id={{ Category.id }}">{{ Category.name}}</a>
</li>
{% endfor %}
<li>
<a href="{{ url('product_detail', {'id': Product.id}) }}">{{ Product.name }}</a>
</li>
</ul>
{% endif %} #}
{% for Category in ProductCategory.Category.path %}
{% if Category.id not in exclude_ids %}
{% if Category.id not in displayed_category_ids %}
<li>
<a href="{{ url('product_list') }}?category_id={{ Category.id }}">{{ Category.name}}</a>
</li>
{% set displayed_category_ids = displayed_category_ids|merge([Category.id]) %}
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
</ul>
{% else %}
<ul class="pankuzu">
<li><a href="{{ url('homepage') }}">トップ</a></li>
<li><a href="{{ url('product_list') }}">商品一覧</a></li>
<li><a href="{{ url('product_detail', {'id': Product.id}) }}">{{ Product.name }}</a></li>
</ul>
{% endif %}
{% endblock %}
{% block main %}
{% set country = getProduct_field(Product.id,"country") %}
{# {% set frame_width = getProduct_field(Product.id,"frame_width") %}
{% set frame_thickness = getProduct_field(Product.id,"frame_thickness") %} #}
{% set delivery = getProduct_field(Product.id,"delivery") %}
{% set add_txt1 = getProduct_field(Product.id,"add_txt1") %}
{% set add_txt2 = getProduct_field(Product.id,"add_txt2") %}
{% set add_txt3 = getProduct_field(Product.id,"add_txt3") %}
<div class="item_detail">
<div class="item_detail_img">
<div class="mainimg">
{% for ProductImage in Product.ProductImage %}
<div class="slide_img">
<a href="{{ asset(ProductImage, 'save_image') }}" class="luminous">
<img src="{{ asset(ProductImage, 'save_image') }}" alt="">
</a>
</div>
{% else %}
<div class="slide_img">
<a href="{{ asset(''|no_image_product, 'save_image') }}" class="luminous">
<img src="{{ asset(''|no_image_product, 'save_image') }}" alt="">
</a>
</div>
{% endfor %}
</div>
<div class="flex between">
<span href="#" class="click_txt">クリックで拡大</span>
<span class="txt_red">※製造時期の違いから、色合い等に若干差異が生じる場合がございます。</span>
</div>
<div class="subimg">
{% for ProductImage in Product.ProductImage %}
<div class="thumbnail"><img src="{{ asset(ProductImage, 'save_image') }}" alt=""></div>
{% else %}
<div class="thumbnail"><img src="{{ asset(''|no_image_product, 'save_image') }}" alt=""></div>
{% endfor %}
</div>
<p class="frame_block_ttl">
フレームサイズのイメージ
</p>
<div class="frame_block_wrap">
<div id="frame_block"></div>
</div>
</div>
<div class="item_detail_info">
<ul class="item_detail_icon_list">
{% for Tag in Product.Tags %}
<li class="item_detail_icon tag_{{ Tag.id }}">{{ Tag }}</li>
{% endfor %}
</ul>
<p class="goods_info product">品番:<span>{{ Product.name }}</span></p>
{# 通常価格 #}
{% if Product.hasProductClass -%}
{% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin ==
Product.getPrice01IncTaxMax %}
<div class="goods_info price">
通常価格:<span class="txt_pink">{{ Product.getPrice01IncTaxMin|number_format() }}<span
class="unit">円</span></span>
</div>
{% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
<div class="goods_info price">
通常価格:<span class="txt_pink">{{ Product.getPrice01IncTaxMin|number_format() }}~{{
Product.getPrice01IncTaxMin|number_format() }}<span class="unit">円</span></span>
</div>
{% endif %}
{% else %}
{% if Product.getPrice01Max is not null %}
<div class="goods_info price">
通常価格:<span class="txt_pink">{{ Product.getPrice01IncTaxMin|number_format() }}<span
class="unit">円</span></span>
</div>
{% endif %}
{% endif %}
{% set minPrice = CustomProductFindWhere(Product,"min_price") %}
{% set maxPrice = CustomProductFindWhere(Product,"max_price") %}
{% set maxTotal = CustomProductFindWhere(Product,"max_total") %}
{% set minTotal = CustomProductFindWhere(Product,"min_total") %}
{% if minPrice != maxPrice and maxPrice is not null %}
<div class="goods_info price">
価格帯:<span class="txt_pink">{{ minPrice|number_format() }}~{{ maxPrice|number_format()
}}<span class="unit">円</span></span>
</div>
{% elseif minPrice is not null %}
<div class="goods_info price">
価格帯:<span class="txt_pink">{{ minPrice|number_format() }}<span class="unit">円</span></span>
</div>
{% elseif maxPrice is not null %}
<div class="goods_info price">
価格帯:<span class="txt_pink">{{ maxPrice|number_format() }}<span class="unit">円</span></span>
</div>
{% else %}
{# 通常 #}
<div class="ec-productRole__price">
{% if Product.hasProductClass -%}
{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
<div class="goods_info price">
価格帯:<span class="txt_pink">{{ Product.getPrice02IncTaxMin|number_format() }}<span
class="unit">円</span></span>
</div>
{% else %}
<div class="goods_info price">
価格帯:<span class="txt_pink">{{ Product.getPrice02IncTaxMin|number_format() }} ~ {{
Product.getPrice02IncTaxMax|number_format() }}<span class="unit">円</span></span>
</div>
{% endif %}
{% else %}
<div class="goods_info price">
価格帯:<span class="txt_pink">{{ Product.getPrice02IncTaxMin|number_format() }}<span
class="unit">円</span></span>
</div>
{% endif %}
</div>
{% endif %}
<div class="ec-productRole__description">{{ Product.description_detail|raw|nl2br }}
</div>
{# {% if Product.ProductClasses.first().DeliveryDuration is not null %}
<p class="goods_info delivery">お届けまでの日数:<span>{{ Product.ProductClasses.first().DeliveryDuration }}営業日</span>
</p>
{% endif %} #}
{% if delivery %}
<p class="goods_info delivery">お届けまでの日数:<span>{{ delivery }}</span>
</p>
{% endif %}
<div class="goods_memo">
<div>
{% if Product.getCalcMinLength is not null and Product.getCalcMaxLength is not null %}
一辺の長さ:{{ Product.getCalcMinLength|number_format() }} ~ {{
Product.getCalcMaxLength|number_format() }}mm
{% elseif Product.getCalcMinLength is not null %}
一辺の長さ:{{ Product.getCalcMinLength|number_format() }}mm
{% elseif Product.getCalcMaxLength is not null %}
一辺の長さ:{{ Product.getCalcMaxLength|number_format() }}mm
{% endif %}
</div>
<div class="txt_red">※自動計算で表示される一般的なサイズのため、実際に購入できるサイズは「ヨコ・タテ合計」サイズを参照ください。</div>
<div>フレーム幅:{{ Product.minlength|number_format() }}mm</div>
<div>
{% if minTotal is not null and maxTotal is not null %}
{% if minTotal == maxTotal %}
ヨコ・タテ合計:{{ maxTotal|number_format() }}mmまで製作可能
{% else %}
ヨコ・タテ合計:{# {{ minTotal|number_format() }}~ #}{{ maxTotal|number_format() }}mmまで製作可能
{% endif %}
{% elseif minTotal is not null %}
<!-- ヨコ・タテ合計:{{ minTotal|number_format() }}mmまで製作可能 -->
{% elseif maxTotal is not null %}
ヨコ・タテ合計:{{ maxTotal|number_format() }}mmまで製作可能
{% endif %}
</div>
</div>
<form action="{{ url('product_add_cart', {id:Product.id}) }}" method="post" id="form1" name="form1">
{% if Product.stock_find %}
<div class="ec-productRole__actions">
{% if form.classcategory_id1 is defined %}
<div class="ec-select">
{{ form_row(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
<div class="ec-select">
{{ form_row(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div>
{% endif %}
{% endif %}
</div>
{% if Product.CustomProductPrice is not empty %}
<ul class="goods_size mb20">
<li><label class="labeltxt">ヨコ幅</label>{{ form_widget(form.custom_width, {'attr': {'class': 'inputBox'
}}) }}mm
</li>
<li><label class="labeltxt">タテ長</label>{{ form_widget(form.custom_height, {'attr': {'class': 'inputBox'
}}) }}mm
</li>
</ul>
<div class="goods_option_block">
<p class="goods_option">オプション</p>
<p class="txt_right mb10">オプションについて詳しくは<a href="{{ url('user_data', {'route': 'setting'}) }}">こちら</a></p>
<label class="labeltxt">面取り加工</label>
{{ form_widget(form.custom_chamfer, {'attr': {'class': 'selectBox mb10' }}) }}
<label class="labeltxt">取付金具</label>
{{ form_widget(form.custom_mounting, {'attr': {'class': 'selectBox mb10' }}) }}
{# <label class="labeltxt">吊り金具・ヒモ(無料)</label>
{{ form_widget(form.custom_hanging, {'attr': {'class': 'selectBox mb10' }}) }}
<label class="labeltxt" for="">ゴム足(無料)</label>
{{ form_widget(form.custom_rubber, {'attr': {'class': 'selectBox mb20' }}) }} #}
<p class="">吊り金具・ヒモとゴム足は無料で同梱されています。</p>
</div>
{% endif %}
<div class="goods_number">
<div class="flex mb10">数量
{{ form_widget(form.quantity, {'attr': {'class': 'inputBox short_box' }}) }}
</div>
<div class="goods_info purchase" id="add_price">
</div>
</div>
{{ form_errors(form.quantity) }}
{% else %}
<div class="goods_btn">
<button class="action_btn btn no_arrow icon_cart" type="button"
style="opacity: 0.6; pointer-events:none;"><span>{{ 'front.product.out_of_stock'|trans
}}</span></button>
</div>
{% endif %}
<div class="goods_btn">
{# <button type="submit" class="action_btn btn no_arrow icon_cart">
<span>カートに入れる</span>
</button> #}
<button type="submit" class="action_btn btn no_arrow icon_cart add-cart">
<span>カートに入れる</span>
</button>
<a class="white_btn btn no_arrow"
href="{{ url('free_sample_add_sample', {'id': Product.id}) }}">無料サンプルのご請求</a>
</div>
{{ form_rest(form) }}
</form>
{# モーダルここから #}
<div class="ec-modal">
<div class="ec-modal-overlay">
<div class="ec-modal-wrap">
<span class="ec-modal-close"><span class="ec-icon"><img
src="{{ asset('assets/icon/cross-dark.svg') }}" alt="" /></span></span>
<div id="ec-modal-header" class="text-center">{{ 'front.product.add_cart_complete'|trans }}
</div>
<div class="ec-modal-box">
<div class="ec-role">
<span class="ec-inlineBtn--cancel">{{ 'front.product.continue'|trans }}</span>
<a href="{{ url('cart') }}" class="ec-inlineBtn--action">{{
'common.go_to_cart'|trans }}</a>
</div>
</div>
</div>
</div>
</div>
{# モーダルここまで #}
</div>
</div>
{% if Product.freearea %}
<div class="ec-productRole__description">
{{ include(template_from_string(Product.freearea), sandboxed = true) }}
</div>
{% endif %}
<div class="item_detail2">
<ul class="tab-list">
<li class="tab-list-item active">商品について</li>
<li class="tab-list-item">価格について</li>
<li class="tab-list-item">価格表</li>
</ul>
<div class="tab-contents">
<div class="tab-contents-item active">
<table class="table_style">
{% if country %}
<tr>
<th>原産国</th>
<td>{{country}}</td>
</tr>
{% endif %}
{% if Product.getMinLength %}
<tr>
<th>フレーム幅</th>
<td>{{ Product.getMinLength|number_format()}}mm</td>
</tr>
{% endif %}
{% if Product.getMaxLength %}
<tr>
<th>フレーム厚み</th>
<td>{{Product.getMaxLength|number_format()}}mm</td>
</tr>
{% endif %}
{% if maxTotal is not null %}
<tr>
<th>ヨコ・タテ合計</th>
<td>{{maxTotal|number_format()}}mmまで</td>
</tr>
{% endif %}
{% if delivery %}
<tr>
<th>お届けまでの日数</th>
<td>{{delivery}}</td>
</tr>
{% endif %}
</table>
{% if add_txt1 %}
{{add_txt1|raw}}
{% endif %}
<h3 class="border_ttl mt60 txt_left">フレームの幅と厚み</h3>
<ul class="flame_block">
<li>
<figure><img src="{{ asset('assets/img/item/itempage_flameimg01.jpg') }}" alt="フレーム幅"></figure>
<h4 class="rhombus_ttl">フレーム幅</h4>
<p>画像の矢印部分をフレーム幅といいます。鏡を壁面に掛けた際、正面から見える縁の部分です。</p>
</li>
<li>
<figure><img src="{{ asset('assets/img/item/itempage_flameimg02.jpg') }}" alt="フレー厚み"></figure>
<h4 class="rhombus_ttl">フレーム厚み</h4>
<p>画像の矢印部分をフレーム厚みといいます。側面から見えるフレームの厚みです。</p>
</li>
</ul>
<h3 class="border_ttl mt60 txt_left">付属品(無料)</h3>
<h4 class="rhombus_ttl">吊り金具・ヒモ</h4>
<dl class="imgtxt mb20">
<dt><img src="{{ asset('assets/img/item/itempage_img01_1.jpg') }}" alt=""></dt>
<dd>
<ul class="asterisk txt_red f16">
<li>付属する吊り金具は鏡の大きさとフレーム幅によって形状が異なります。</li>
<li>ヨコ・タテ合計が1800mm以上の場合は壁に立て掛け時の転倒防止用にご使用ください。</li>
<!--<li>ハングマンを選択された場合は、不要なので同梱・取り付けされません。</li>-->
</ul>
</dd>
</dl>
<h4 class="rhombus_ttl">ゴム足</h4>
<dl class="imgtxt mb20">
<dt><img src="{{ asset('assets/img/item/itempage_img01_2.jpg') }}" alt=""></dt>
<dd>
<ul class="asterisk txt_red f16">
<li>ゴム足は鏡を壁に立てかける場合にご使用できます。</li>
<li>フレームの形状によっては取り付けできない場合があります。</li>
<!--<li>剛力フック・ハングマンを選択された場合は、不要なので同梱・取り付けされません。</li>-->
</ul>
</dd>
</dl>
<h3 class="border_ttl mt60 txt_left">鏡の取り付け方と取付金具の種類</h3>
<div class="table_dl">
<dl>
<dt>剛力フック</dt>
<dd>
<img src="{{ asset('assets/img/item/itempage_img02_1.jpg') }}" alt="">
<p>鏡の裏にヒモをつけて剛力フックで壁に掛ける方法</p>
<ul class="asterisk f16">
<li>剛力フックの詳細は<a href="/user_data/setting#howto01">こちら</a></li>
</ul>
</dd>
</dl>
<dl>
<dt>ハングマン</dt>
<dd>
<img src="{{ asset('assets/img/item/itempage_img02_2.jpg') }}" alt="">
<p>ハングマンで壁にしっかり掛ける方法</p>
<ul class="asterisk f16">
<li>ハングマンの詳細は<a href="/user_data/setting#howto02">こちら</a></li>
</ul>
</dd>
</dl>
<!--<dl>
<dt>ゴム足 / 吊り金具・ヒモ</dt>
<dd>
<img src="{{ asset('assets/img/item/itempage_img02_3.jpg') }}" alt="">
<p>ゴム足をフレーム下側に取り付けて壁に立てかける方法。ゴム足・鏡の裏に取り付ける吊り金具・強化ヒモ
はご希望であれば、無料で同送いたします。</p>
</dd>
</dl>-->
</div>
<a href="{{ url('user_data', {'route': 'setting'}) }}"
class="btn item_detail2_btn no_arrow">鏡の取り付け方についてはこちら</a>
</div>
<div class="tab-contents-item">
<dl class="imgtxt mb20 w320">
<dt><img src="{{ asset('assets/img/item/itempage_img03.png') }}" alt=""></dt>
<dd>
<p>タテとヨコの長さ(mm)を足した合計で価格が決定します。
</p>
<ul class="circle">
<li>例えば、タテが450mm、ヨコが230mmのサイズでは、タテとヨコの合計が680mmなので700mmの価格帯になります。
価格帯700mmは、タテとヨコの合計が601mm~700mmまでの鏡に適用されます。<br>
タテとヨコの合計が701mmになると、次の価格帯800mmが適用されます。
</li>
<li>価格帯はタテとヨコの合計サイズが2000mmまでは100mmごとに、2000mm以降は200mmごとに変わります。
</li>
<li>価格帯のついての詳細は価格表をご参照ください。</li>
</ul>
<h3 class="border_ttl mt50 txt_left">面取り加工について</h3>
<p>価格表には、「面取り加工あり」と「面取り加工なし」の2種類を表記しています。<br>
面取り加工の説明は<a href="#">こちら</a>をご覧ください。</p>
<h3 class="border_ttl mt50 txt_left">サイズの入力条件</h3>
<p>一辺の長さ:152~1882mm<br>
合計サイズ:304~2600mm</p>
</dd>
</dl>
<h3 class="border_ttl mt60 txt_left">製作限界サイズについて</h3>
<p class="mb10">商品を製作する際、そのフレーム幅や厚みに対して鏡のサイズが大き過ぎると鏡の重さにフレームが持ちこたえられず、フレームが破損する可能性がございます。
従いまして、製作可能サイズ内であっても、フレームの種類によっては、下記の理由により製作できない場合があります。</p>
<ul class="circle mb10">
<li>フレームの幅と厚みが製作サイズに対して充分でない</li>
<li>フレームの使用木材が柔らかい木の種類である</li>
<li>ヨコとタテの比率の差が極端にある</li>
</ul>
<p>また、各商品の価格表で「製作不可または別途お見積もり」と表記しているのは、特に割高になるなどの理由からではなく、前述のようなフレームの強度不足になる可能性があるということから、あえて価格を記載していません。<br>
その都度、サイズをお聞きして製作可能か弊社で判断し、お客様にお伝えしております。</p>
{% if add_txt2 %}
{{add_txt2|raw}}
{% endif %}
</div>
<div class="tab-contents-item">
{% if Product.CustomProductPrice is not null and Product.CustomProductPrice.CustomPriceConfig.CustomPrices is not null %}
<div class="js-scrollable">
<table class="table_style_item" id="table_prices">
<thead>
<tr>
<th>価格帯</th>
<th class="pink">面取り加工なし</th>
<th class="pink">面取り加工あり</th>
<th>価格帯</th>
<th class="pink">面取り加工なし</th>
<th class="pink">面取り加工あり</th>
</tr>
</thead>
<tbody>
{% for CustomProductPrice in Product.CustomProductPrice.CustomPriceConfig.CustomPrices %}
{% if CustomProductPrice.id in Product.CustomProductPrice.Prices %}
{% set total = ChamferTotal(CustomProductPrice.total,2) %}
{% set total_tax = CustomPriceTax(CustomProductPrice.price,Product) %}
<tr>
<th>{{ CustomProductPrice.total|number_format() }}mm</th>
<td>{{ total_tax|number_format() }}円</td>
{% if total %}
{% set option_total_tax = CustomPriceTax(CustomProductPrice.price + total.price,Product) %}
<td>{{ (option_total_tax)|number_format()}}円
</td>
{% else %}
<td>-</td>
{% endif %}
</tr>
{% endif %}
{% endfor %}
<tr class="last">
<th>以上</th>
<td colspan="2">製作不可または別途お見積もり</td>
</tr>
</tbody>
</table>
</div>
{% endif %}
{% if add_txt3 %}
{{add_txt3|raw}}
{% endif %}
</div>
</div>
</div>
<script>
$(function(){
var $rows = $('#table_prices tbody tr');
// 2つの行ごとにループ処理
for (var i = 0; i < $rows.length; i += 2) {
// 現在の行と次の行の内容を取得
var $current = $($rows[i]);
var $next = $($rows[i + 1]);
// 次の行が存在する場合、内容を結合
if ($next.length) {
// 新しい行を作成
var $newRow = $('<tr></tr>');
// 現在の行と次の行の<th>と<td>を新しい行に追加
$newRow.append($current.html());
$newRow.append($next.html());
$current.replaceWith($newRow);
// 新しい行を現在の行の位置に挿入し、元の2行を削除
$next.remove();
}
}
if(!$('#table_prices').prev("td").length){
$('#table_prices .last td').attr("colspan",5);
}
});
</script>
{% endblock %}