| {# |
| {# |
| This file is part of EC-CUBE |
| This file is part of EC-CUBE |
| Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved. |
| Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved. |
| http://www.lockon.co.jp/ |
| http://www.lockon.co.jp/ |
| This program is free software; you can redistribute it and/or |
| This program is free software; you can redistribute it and/or |
| modify it under the terms of the GNU General Public License |
| modify it under the terms of the GNU General Public License |
| as published by the Free Software Foundation; either version 2 |
| as published by the Free Software Foundation; either version 2 |
| of the License, or (at your option) any later version. |
| of the License, or (at your option) any later version. |
| This program is distributed in the hope that it will be useful, |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| GNU General Public License for more details. |
| You should have received a copy of the GNU General Public License |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| #} |
| #} |
| {% extends 'default_frame.twig' %} |
| {% extends 'default_frame.twig' %} |
| |
| |
| {% set menus = ['product', 'product_edit'] %} |
| {% set menus = ['product', 'product_edit'] %} |
| |
| |
| {% block title %}商品管理{% endblock %} |
| {% block title %}商品管理{% endblock %} |
| {% block sub_title %}商品登録{% endblock %} |
| {% block sub_title %}商品登録{% endblock %} |
| |
| |
| {% form_theme form 'Form/bootstrap_3_horizontal_layout.html.twig' %} |
| {% form_theme form 'Form/bootstrap_3_horizontal_layout.html.twig' %} |
| |
| |
| {% block stylesheet %} |
| {% block stylesheet %} |
| <link rel="stylesheet" href="{{ app.config.admin_urlpath }}/assets/css/fileupload/jquery.fileupload.css"> |
| <link rel="stylesheet" href="{{ app.config.admin_urlpath }}/assets/css/fileupload/jquery.fileupload.css"> |
| <link rel="stylesheet" href="{{ app.config.admin_urlpath }}/assets/css/fileupload/jquery.fileupload-ui.css"> |
| <link rel="stylesheet" href="{{ app.config.admin_urlpath }}/assets/css/fileupload/jquery.fileupload-ui.css"> |
| <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> |
| <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> |
| <style> |
| <style> |
| .ui-state-highlight { |
| .ui-state-highlight { |
| height: 148px; |
| height: 148px; |
| border: dashed 1px #ccc; |
| border: dashed 1px #ccc; |
| background: #fff; |
| background: #fff; |
| } |
| } |
| </style> |
| </style> |
| {% endblock stylesheet %} |
| {% endblock stylesheet %} |
| |
| |
| {% block javascript %} |
| {% block javascript %} |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/vendor/jquery.ui.widget.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/vendor/jquery.ui.widget.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.iframe-transport.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.iframe-transport.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.fileupload.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.fileupload.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.fileupload-process.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.fileupload-process.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.fileupload-validate.js"></script> |
| <script src="{{ app.config.admin_urlpath }}/assets/js/vendor/fileupload/jquery.fileupload-validate.js"></script> |
| <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> |
| <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> |
| <script> |
| <script> |
| $(function() { |
| $(function() { |
| $("#thumb").sortable({ |
| $("#thumb").sortable({ |
| cursor: 'move', |
| cursor: 'move', |
| opacity: 0.7, |
| opacity: 0.7, |
| placeholder: 'ui-state-highlight', |
| placeholder: 'ui-state-highlight', |
| update: function (event, ui) { |
| update: function (event, ui) { |
| updateRank(); |
| updateRank(); |
| } |
| } |
| }); |
| }); |
| {% if has_class == false %} |
| {% if has_class == false %} |
| if ($("#{{ form.class.stock_unlimited.vars.id }}").prop("checked")) { |
| if ($("#{{ form.class.stock_unlimited.vars.id }}").prop("checked")) { |
| $("#{{ form.class.stock.vars.id }}").attr("disabled", "disabled").val(''); |
| $("#{{ form.class.stock.vars.id }}").attr("disabled", "disabled").val(''); |
| } else { |
| } else { |
| $("#{{ form.class.stock.vars.id }}").removeAttr("disabled"); |
| $("#{{ form.class.stock.vars.id }}").removeAttr("disabled"); |
| } |
| } |
| $("#{{ form.class.stock_unlimited.vars.id }}").on("click change", function () { |
| $("#{{ form.class.stock_unlimited.vars.id }}").on("click change", function () { |
| if ($(this).prop("checked")) { |
| if ($(this).prop("checked")) { |
| $("#{{ form.class.stock.vars.id }}").attr("disabled", "disabled").val(''); |
| $("#{{ form.class.stock.vars.id }}").attr("disabled", "disabled").val(''); |
| } else { |
| } else { |
| $("#{{ form.class.stock.vars.id }}").removeAttr("disabled"); |
| $("#{{ form.class.stock.vars.id }}").removeAttr("disabled"); |
| } |
| } |
| }); |
| }); |
| {% endif %} |
| {% endif %} |
| var proto_img = '' |
| var proto_img = '' |
| + '<li class="ui-state-default">' |
| + '<li class="ui-state-default">' |
| + '<img src="__path__" />' |
| + '<img src="__path__" />' |
| + '<a class="delete-image">' |
| + '<a class="delete-image">' |
| + '<svg class="cb cb-close">' |
| + '<svg class="cb cb-close">' |
| + '<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#cb-close"></use>' |
| + '<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#cb-close"></use>' |
| + '</svg>' |
| + '</svg>' |
| + '</a>' |
| + '</a>' |
| + '</li>'; |
| + '</li>'; |
| var proto_add = '{{ form_widget(form.add_images.vars.prototype) }}'; |
| var proto_add = '{{ form_widget(form.add_images.vars.prototype) }}'; |
| var proto_del = '{{ form_widget(form.delete_images.vars.prototype) }}'; |
| var proto_del = '{{ form_widget(form.delete_images.vars.prototype) }}'; |
| {% for image in form.images %} |
| {% for image in form.images %} |
| var $img = $(proto_img.replace(/__path__/g, '{{ app.config.image_save_urlpath }}/{{ image.vars.value }}')); |
| var $img = $(proto_img.replace(/__path__/g, '{{ app.config.image_save_urlpath }}/{{ image.vars.value }}')); |
| var $widget = $('{{ form_widget(image) }}'); |
| var $widget = $('{{ form_widget(image) }}'); |
| $widget.val('{{ image.vars.value }}'); |
| $widget.val('{{ image.vars.value }}'); |
| $("#thumb").append($img.append($widget)); |
| $("#thumb").append($img.append($widget)); |
| {% endfor %} |
| {% endfor %} |
| {% for add_image in form.add_images %} |
| {% for add_image in form.add_images %} |
| var $img = $(proto_img.replace(/__path__/g, '{{ app.config.image_temp_urlpath }}/{{ add_image.vars.value }}')); |
| var $img = $(proto_img.replace(/__path__/g, '{{ app.config.image_temp_urlpath }}/{{ add_image.vars.value }}')); |
| var $widget = $('{{ form_widget(add_image) }}'); |
| var $widget = $('{{ form_widget(add_image) }}'); |
| $widget.val('{{ add_image.vars.value }}'); |
| $widget.val('{{ add_image.vars.value }}'); |
| $("#thumb").append($img.append($widget)); |
| $("#thumb").append($img.append($widget)); |
| {% endfor %} |
| {% endfor %} |
| {% for delete_image in form.delete_images %} |
| {% for delete_image in form.delete_images %} |
| $("#thumb").append('{{ form_widget(delete_image) }}'); |
| $("#thumb").append('{{ form_widget(delete_image) }}'); |
| {% endfor %} |
| {% endfor %} |
| var hideSvg = function () { |
| var hideSvg = function () { |
| if ($("#thumb li").length > 0) { |
| if ($("#thumb li").length > 0) { |
| $("#icon_no_image").css("display", "none"); |
| $("#icon_no_image").css("display", "none"); |
| } else { |
| } else { |
| $("#icon_no_image").css("display", ""); |
| $("#icon_no_image").css("display", ""); |
| } |
| } |
| }; |
| }; |
| var updateRank = function () { |
| var updateRank = function () { |
| $("#thumb li").each(function (index) { |
| $("#thumb li").each(function (index) { |
| $(this).find(".rank_images").remove(); |
| $(this).find(".rank_images").remove(); |
| filename = $(this).find("input[type='hidden']").val(); |
| filename = $(this).find("input[type='hidden']").val(); |
| $rank = $('<input type="hidden" class="rank_images" name="rank_images[]" />'); |
| $rank = $('<input type="hidden" class="rank_images" name="rank_images[]" />'); |
| $rank.val(filename + '//' + parseInt(index + 1)); |
| $rank.val(filename + '//' + parseInt(index + 1)); |
| $(this).append($rank); |
| $(this).append($rank); |
| }); |
| }); |
| } |
| } |
| hideSvg(); |
| hideSvg(); |
| updateRank(); |
| updateRank(); |
| // 画像削除時 |
| // 画像削除時 |
| var count_del = 0; |
| var count_del = 0; |
| $("#thumb").on("click", ".delete-image", function () { |
| $("#thumb").on("click", ".delete-image", function () { |
| var $new_delete_image = $(proto_del.replace(/__name__/g, count_del)); |
| var $new_delete_image = $(proto_del.replace(/__name__/g, count_del)); |
| var src = $(this).prev().attr('src') |
| var src = $(this).prev().attr('src') |
| .replace('{{ app.config.image_temp_urlpath }}/', '') |
| .replace('{{ app.config.image_temp_urlpath }}/', '') |
| .replace('{{ app.config.image_save_urlpath }}/', ''); |
| .replace('{{ app.config.image_save_urlpath }}/', ''); |
| $new_delete_image.val(src); |
| $new_delete_image.val(src); |
| $("#thumb").append($new_delete_image); |
| $("#thumb").append($new_delete_image); |
| $(this).parent("li").remove(); |
| $(this).parent("li").remove(); |
| hideSvg(); |
| hideSvg(); |
| updateRank(); |
| updateRank(); |
| count_del++; |
| count_del++; |
| }); |
| }); |
| var count_add = {{ form.add_images|length|default(0) }}; |
| var count_add = {{ form.add_images|length|default(0) }}; |
| $('#{{ form.product_image.vars.id }}').fileupload({ |
| $('#{{ form.product_image.vars.id }}').fileupload({ |
| url: "{{ url('admin_product_image_add') }}", |
| url: "{{ url('admin_product_image_add') }}", |
| type: "post", |
| type: "post", |
| dataType: 'json', |
| dataType: 'json', |
| done: function (e, data) { |
| done: function (e, data) { |
| $('#progress').hide(); |
| $('#progress').hide(); |
| $.each(data.result.files, function (index, file) { |
| $.each(data.result.files, function (index, file) { |
| var path = '{{ app.config.image_temp_urlpath }}/' + file; |
| var path = '{{ app.config.image_temp_urlpath }}/' + file; |
| var $img = $(proto_img.replace(/__path__/g, path)); |
| var $img = $(proto_img.replace(/__path__/g, path)); |
| var $new_img = $(proto_add.replace(/__name__/g, count_add)); |
| var $new_img = $(proto_add.replace(/__name__/g, count_add)); |
| $new_img.val(file); |
| $new_img.val(file); |
| $child = $img.append($new_img); |
| $child = $img.append($new_img); |
| $('#thumb').append($child); |
| $('#thumb').append($child); |
| count_add++; |
| count_add++; |
| }); |
| }); |
| hideSvg(); |
| hideSvg(); |
| updateRank(); |
| updateRank(); |
| }, |
| }, |
| fail: function (e, data) { |
| fail: function (e, data) { |
| alert('アップロードに失敗しました。'); |
| alert('アップロードに失敗しました。'); |
| }, |
| }, |
| always: function (e, data) { |
| always: function (e, data) { |
| $('#progress').hide(); |
| $('#progress').hide(); |
| $('#progress .progress-bar').width('0%'); |
| $('#progress .progress-bar').width('0%'); |
| }, |
| }, |
| start: function (e, data) { |
| start: function (e, data) { |
| $('#progress').show(); |
| $('#progress').show(); |
| }, |
| }, |
| acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, |
| acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, |
| maxFileSize: 10000000, |
| maxFileSize: 10000000, |
| maxNumberOfFiles: 10, |
| maxNumberOfFiles: 10, |
| progressall: function (e, data) { |
| progressall: function (e, data) { |
| var progress = parseInt(data.loaded / data.total * 100, 10); |
| var progress = parseInt(data.loaded / data.total * 100, 10); |
| $('#progress .progress-bar').css( |
| $('#progress .progress-bar').css( |
| 'width', |
| 'width', |
| progress + '%' |
| progress + '%' |
| ); |
| ); |
| }, |
| }, |
| processalways: function (e, data) { |
| processalways: function (e, data) { |
| if (data.files.error) { |
| if (data.files.error) { |
| alert("画像ファイルサイズが大きいか画像ファイルではありません。"); |
| alert("画像ファイルサイズが大きいか画像ファイルではありません。"); |
| } |
| } |
| } |
| } |
| }); |
| }); |
| // 画像アップロード |
| // 画像アップロード |
| $('#file_upload').on('click', function () { |
| $('#file_upload').on('click', function () { |
| $('#{{ form.product_image.vars.id }}').click(); |
| $('#{{ form.product_image.vars.id }}').click(); |
| }); |
| }); |
| }); |
| }); |
| function fnConfirm(action) { |
| function fnConfirm(action) { |
| document.form1.action = action; |
| document.form1.action = action; |
| document.form1.submit(); |
| document.form1.submit(); |
| } |
| } |
| |
| |
| function fnDelete(action) { |
| function fnDelete(action) { |
| if (confirm('この商品情報を削除しても宜しいですか?')) { |
| if (confirm('この商品情報を削除しても宜しいですか?')) { |
| document.form1.action = action; |
| document.form1.action = action; |
| document.form1.submit(); |
| document.form1.submit(); |
| } |
| } |
| } |
| } |
| |
| |
| function fnCopy(action) { |
| function fnCopy(action) { |
| if (confirm('この商品情報を複製しても宜しいですか?')) { |
| if (confirm('この商品情報を複製しても宜しいですか?')) { |
| document.form1.action = action; |
| document.form1.action = action; |
| document.form1.submit(); |
| document.form1.submit(); |
| } |
| } |
| } |
| } |
| |
| |
| function fnClass(action) { |
| function fnClass(action) { |
| document.form1.action = action; |
| document.form1.action = action; |
| document.form1.submit(); |
| document.form1.submit(); |
| } |
| } |
| |
| |
| </script> |
| </script> |
| {% endblock javascript %} |
| {% endblock javascript %} |
| |
| |
| {% block main %} |
| {% block main %} |
| <form role="form" name="form1" id="form1" method="post" action="" novalidate enctype="multipart/form-data"> |
| <form role="form" name="form1" id="form1" method="post" action="" novalidate enctype="multipart/form-data"> |
| {{ form_widget(form._token) }} |
| {{ form_widget(form._token) }} |
| <div class="row" id="aside_wrap"> |
| <div class="row" id="aside_wrap"> |
| <div id="detail_wrap" class="col-md-9"> |
| <div id="detail_wrap" class="col-md-9"> |
| <div id="detail_box" class="box form-horizontal"> |
| <div id="detail_box" class="box form-horizontal"> |
| <div id="detail_box__header" class="box-header"> |
| <div id="detail_box__header" class="box-header"> |
| <h3 class="box-title">基本情報</h3> |
| <h3 class="box-title">基本情報</h3> |
| </div><!-- /.box-header --> |
| </div><!-- /.box-header --> |
| <div id="detail_box__body" class="box-body"> |
| <div id="detail_box__body" class="box-body"> |
| |
| |
| {# 商品ID #} |
| {# 商品ID #} |
| {% if Product.id %} |
| {% if Product.id %} |
| <div id="detail_box__id" class="form-group"> |
| <div id="detail_box__id" class="form-group"> |
| <label class="col-sm-3 col-lg-2 control-label">商品ID</label> |
| <label class="col-sm-3 col-lg-2 control-label">商品ID</label> |
| <div class="col-sm-9 col-lg-10 padT07">{{ Product.id }}</div> |
| <div class="col-sm-9 col-lg-10 padT07">{{ Product.id }}</div> |
| </div> |
| </div> |
| {% endif %} |
| {% endif %} |
| |
| |
| |
| |
| {{ form_row(form.name) }} |
| {{ form_row(form.name) }} |
| {% if has_class == false %} |
| {% if has_class == false %} |
| {{ form_row(form.class.product_type, { attr : { class : 'form-inline padT07' } } ) }} |
| {{ form_row(form.class.product_type, { attr : { class : 'form-inline padT07' } } ) }} |
| {% endif %} |
| {% endif %} |
| |
| |
| <div id="detail_box__image" class="form-group"> |
| <div id="detail_box__image" class="form-group"> |
| <label class="col-sm-2 control-label" for="admin_product_product_image"> |
| <label class="col-sm-2 control-label" for="admin_product_product_image"> |
| {{ form.product_image.vars.label }}<br> |
| {{ form.product_image.vars.label }}<br> |
| <span class="small">620px以上推奨</span> |
| <span class="small">620px以上推奨</span> |
| </label> |
| </label> |
| <div id="detail_files_box" class="col-sm-9 col-lg-10"> |
| <div id="detail_files_box" class="col-sm-9 col-lg-10"> |
| <div class="photo_files" id="drag-drop-area"> |
| <div class="photo_files" id="drag-drop-area"> |
| <svg id="icon_no_image" class="cb cb-photo no-image"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#cb-photo"></use></svg> |
| <svg id="icon_no_image" class="cb cb-photo no-image"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#cb-photo"></use></svg> |
| <ul id="thumb" class="clearfix"></ul> |
| <ul id="thumb" class="clearfix"></ul> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="form-group marB30"> |
| <div class="form-group marB30"> |
| <div id="detail_box__file_upload" class="col-sm-offset-2 col-sm-9 col-lg-10 "> |
| <div id="detail_box__file_upload" class="col-sm-offset-2 col-sm-9 col-lg-10 "> |
| |
| |
| <div id="progress" class="progress progress-striped active" style="display:none;"> |
| <div id="progress" class="progress progress-striped active" style="display:none;"> |
| <div class="progress-bar progress-bar-info"></div> |
| <div class="progress-bar progress-bar-info"></div> |
| </div> |
| </div> |
| |
| |
| {{ form_widget(form.product_image, { attr : { accept : 'image/*', style : 'display:none;' } }) }} |
| {{ form_widget(form.product_image, { attr : { accept : 'image/*', style : 'display:none;' } }) }} |
| <a id="file_upload" class="with-icon"> |
| <a id="file_upload" class="with-icon"> |
| <svg class="cb cb-plus"> <use xlink:href="#cb-plus" /></svg>ファイルをアップロード |
| <svg class="cb cb-plus"> <use xlink:href="#cb-plus" /></svg>ファイルをアップロード |
| </a> |
| </a> |
| |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="detail_description_box" class="form-group"> |
| <div id="detail_description_box" class="form-group"> |
| {{ form_label(form.description_detail) }} |
| {{ form_label(form.description_detail) }} |
| <div id="detail_description_box__detail" class="col-sm-9 col-lg-10"> |
| <div id="detail_description_box__detail" class="col-sm-9 col-lg-10"> |
| {{ form_widget(form.description_detail) }} |
| {{ form_widget(form.description_detail) }} |
| <div id="detail_description_box__list" class="accordion marT15 marB20"><a id="detail_description_box__list_toggle" class="toggle with-icon"><svg class="cb cb-plus icon_plus"> <use xlink:href="#cb-plus" /></svg>一覧コメントを追加</a> |
| <div id="detail_description_box__list" class="accordion marT15 marB20"><a id="detail_description_box__list_toggle" class="toggle with-icon"><svg class="cb cb-plus icon_plus"> <use xlink:href="#cb-plus" /></svg>一覧コメントを追加</a> |
| <div class="accpanel padT08"> |
| <div class="accpanel padT08"> |
| {{ form_widget(form.description_list) }} |
| {{ form_widget(form.description_list) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| {% if has_class == false %} |
| {% if has_class == false %} |
| <div id="detail_box__price" class="form-group"> |
| <div id="detail_box__price" class="form-group"> |
| {{ form_label(form.class.price02) }} |
| {{ form_label(form.class.price02) }} |
| <div id="detail_box__price02" class="col-sm-3 col-lg-3"> |
| <div id="detail_box__price02" class="col-sm-3 col-lg-3"> |
| {{ form_widget(form.class.price02) }} |
| {{ form_widget(form.class.price02) }} |
| {{ form_errors(form.class.price02) }} |
| {{ form_errors(form.class.price02) }} |
| <div id="detail_box__price01" class="accordion marT15 marB20"><a class="toggle with-icon"><svg class="cb cb-plus icon_plus"> <use xlink:href="#cb-plus" /></svg>通常価格を追加</a> |
| <div id="detail_box__price01" class="accordion marT15 marB20"><a class="toggle with-icon"><svg class="cb cb-plus icon_plus"> <use xlink:href="#cb-plus" /></svg>通常価格を追加</a> |
| <div class="accpanel padT08"> |
| <div class="accpanel padT08"> |
| {{ form_widget(form.class.price01) }} |
| {{ form_widget(form.class.price01) }} |
| {{ form_errors(form.class.price01) }} |
| {{ form_errors(form.class.price01) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="detail_box__stock" class="form-group"> |
| <div id="detail_box__stock" class="form-group"> |
| {{ form_label(form.class.stock) }} |
| {{ form_label(form.class.stock) }} |
| <div class="col-sm-9 col-lg-10"> |
| <div class="col-sm-9 col-lg-10"> |
| <div class="row"> |
| <div class="row"> |
| <div id="detail_box__unlimited" class="col-xs-12 form-inline"> |
| <div id="detail_box__unlimited" class="col-xs-12 form-inline"> |
| {{ form_widget(form.class.stock) }} |
| {{ form_widget(form.class.stock) }} |
| {{ form_errors(form.class.stock) }} |
| {{ form_errors(form.class.stock) }} |
| {{ form_widget(form.class.stock_unlimited) }} |
| {{ form_widget(form.class.stock_unlimited) }} |
| {{ form_errors(form.class.stock_unlimited) }} |
| {{ form_errors(form.class.stock_unlimited) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| {% endif %} |
| {% endif %} |
| |
| |
| <div id="detail_category_box" class="form-group"> |
| <div id="detail_category_box" class="form-group"> |
| {{ form_label(form.Category) }} |
| {{ form_label(form.Category) }} |
| <div class="col-sm-9 col-lg-10"> |
| <div class="col-sm-9 col-lg-10"> |
| <div class="accordion marT05"> |
| <div class="accordion marT05"> |
| <a id="detail_category_box__toggle" class="toggle with-icon"><svg class="cb cb-plus icon_plus"> <use xlink:href="#cb-plus" /></svg>カテゴリを選択</a> |
| <a id="detail_category_box__toggle" class="toggle with-icon"><svg class="cb cb-plus icon_plus"> <use xlink:href="#cb-plus" /></svg>カテゴリを選択</a> |
| <div id="detail_category_box__list" class="accpanel padT08{% if form.Category.vars.valid == false %} has-error{% endif %}"> |
| <div id="detail_category_box__list" class="accpanel padT08{% if form.Category.vars.valid == false %} has-error{% endif %}"> |
| {{ form_widget(form.Category) }} |
| {{ form_widget(form.Category) }} |
| {{ form_errors(form.Category) }} |
| {{ form_errors(form.Category) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="extra-form"> |
| <div class="extra-form"> |
| {% for f in form.getIterator %} |
| {% for f in form.getIterator %} |
| {% if f.vars.name matches '[^plg*]' %} |
| {% if f.vars.name matches '[^plg*]' %} |
| {{ form_row(f) }} |
| {{ form_row(f) }} |
| {% endif %} |
| {% endif %} |
| {% endfor %} |
| {% endfor %} |
| </div> |
| </div> |
| |
| |
| </div><!-- /.box-body --> |
| </div><!-- /.box-body --> |
| </div><!-- /.box --> |
| </div><!-- /.box --> |
| |
| |
| <div id="sub_detail_box" class="box accordion form-horizontal"> |
| <div id="sub_detail_box" class="box accordion form-horizontal"> |
| <div id="sub_detail_box__toggle" class="box-header toggle"> |
| <div id="sub_detail_box__toggle" class="box-header toggle"> |
| <h3 class="box-title">詳細な設定<svg class="cb cb-angle-down icon_down"> <use xlink:href="#cb-angle-down" /></svg></h3> |
| <h3 class="box-title">詳細な設定<svg class="cb cb-angle-down icon_down"> <use xlink:href="#cb-angle-down" /></svg></h3> |
| </div><!-- /.box-header --> |
| </div><!-- /.box-header --> |
| <div id="sub_detail_box__body" class="box-body accpanel"> |
| <div id="sub_detail_box__body" class="box-body accpanel"> |
| |
| |
| {% if has_class == false %} |
| {% if has_class == false %} |
| {{ form_row(form.class.code) }} |
| {{ form_row(form.class.code) }} |
| {{ form_row(form.class.sale_limit) }} |
| {{ form_row(form.class.sale_limit) }} |
| {% endif %} |
| {% endif %} |
| |
| |
| {{ form_row(form.search_word) }} |
| {{ form_row(form.search_word) }} |
| {% if has_class == false %} |
| {% if has_class == false %} |
| {{ form_row(form.class.delivery_date) }} |
| {{ form_row(form.class.delivery_date) }} |
| {% if BaseInfo.option_product_delivery_fee %} |
| {% if BaseInfo.option_product_delivery_fee %} |
| <div id="sub_detail_box__delivery_fee" class="form-group"> |
| <div id="sub_detail_box__delivery_fee" class="form-group"> |
| {{ form_label(form.class.delivery_fee) }} |
| {{ form_label(form.class.delivery_fee) }} |
| <div class="col-sm-3 col-lg-3"> |
| <div class="col-sm-3 col-lg-3"> |
| {{ form_widget(form.class.delivery_fee) }} |
| {{ form_widget(form.class.delivery_fee) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| {% endif %} |
| {% endif %} |
| {% if BaseInfo.option_product_tax_rule %} |
| {% if BaseInfo.option_product_tax_rule %} |
| <div id="sub_detail_box__tax_rate" class="form-group"> |
| <div id="sub_detail_box__tax_rate" class="form-group"> |
| {{ form_label(form.class.tax_rate) }} |
| {{ form_label(form.class.tax_rate) }} |
| <div class="col-sm-3 col-lg-3"> |
| <div class="col-sm-3 col-lg-3"> |
| {{ form_widget(form.class.tax_rate) }} |
| {{ form_widget(form.class.tax_rate) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| {% endif %} |
| {% endif %} |
| {% endif %} |
| {% endif %} |
| |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="free_box" class="box accordion"> |
| <div id="free_box" class="box accordion"> |
| <div id="free_box__body_toggle" class="box-header toggle"> |
| <div id="free_box__body_toggle" class="box-header toggle"> |
| <h3 class="box-title">フリーエリア<svg class="cb cb-angle-down icon_down"> <use xlink:href="#cb-angle-down" /></svg></h3> |
| <h3 class="box-title">フリーエリア<svg class="cb cb-angle-down icon_down"> <use xlink:href="#cb-angle-down" /></svg></h3> |
| </div><!-- /.box-header --> |
| </div><!-- /.box-header --> |
| <div id="free_box__body" class="box-body accpanel"> |
| <div id="free_box__body" class="box-body accpanel"> |
| {{ form_widget(form.free_area, { attr : { id : 'wysiwyg-area' } } ) }} |
| {{ form_widget(form.free_area, { attr : { id : 'wysiwyg-area' } } ) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="detail_box__footer" class="row hidden-xs hidden-sm"> |
| <div id="detail_box__footer" class="row hidden-xs hidden-sm"> |
| <div class="col-xs-10 col-xs-offset-1 col-sm-6 col-sm-offset-3 text-center btn_area"> |
| <div class="col-xs-10 col-xs-offset-1 col-sm-6 col-sm-offset-3 text-center btn_area"> |
| <p><a href="{{ url('admin_product') }}">検索画面に戻る</a></p> |
| <p><a href="{{ url('admin_product') }}">検索画面に戻る</a></p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| </div><!-- /.col --> |
| </div><!-- /.col --> |
| |
| |
| <div id="common_box" class="col-md-3"> |
| <div id="common_box" class="col-md-3"> |
| <div class="col_inner" id="aside_column"> |
| <div class="col_inner" id="aside_column"> |
| <div id="common_button_box" class="box no-header"> |
| <div id="common_button_box" class="box no-header"> |
| <div id="common_button_box__body" class="box-body"> |
| <div id="common_button_box__body" class="box-body"> |
| <div id="common_button_box__status" class="row"> |
| <div id="common_button_box__status" class="row"> |
| <div class="col-xs-12"> |
| <div class="col-xs-12"> |
| <div class="form-group"> |
| <div class="form-group"> |
| {{ form_widget(form.Status) }} |
| {{ form_widget(form.Status) }} |
| {{ form_errors(form.Status) }} |
| {{ form_errors(form.Status) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div id="common_button_box__insert_button" class="row text-center"> |
| <div id="common_button_box__insert_button" class="row text-center"> |
| <div class="col-sm-6 col-sm-offset-3 col-md-12 col-md-offset-0"> |
| <div class="col-sm-6 col-sm-offset-3 col-md-12 col-md-offset-0"> |
| <button type="submit" class="btn btn-primary btn-block btn-lg prevention-btn prevention-mask" >商品を登録</button> |
| <button type="submit" class="btn btn-primary btn-block btn-lg prevention-btn prevention-mask" >商品を登録</button> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div id="common_button_box__class_set_button" class="row text-center with-border"> |
| <div id="common_button_box__class_set_button" class="row text-center with-border"> |
| <div class="col-sm-6 col-sm-offset-3 col-md-12 col-md-offset-0"> |
| <div class="col-sm-6 col-sm-offset-3 col-md-12 col-md-offset-0"> |
| {% if id is null %} |
| {% if id is null %} |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| 規格設定 |
| 規格設定 |
| </button> |
| </button> |
| {% else %} |
| {% else %} |
| <button class="btn btn-default btn-block btn-sm" onclick="fnClass('{{ url('admin_product_product_class', { 'id' : id }) }}');return false;"> |
| <button class="btn btn-default btn-block btn-sm" onclick="fnClass('{{ url('admin_product_product_class', { 'id' : id }) }}');return false;"> |
| 規格設定 |
| 規格設定 |
| </button> |
| </button> |
| {% endif %} |
| {% endif %} |
| </div> |
| </div> |
| </div> |
| </div> |
| <div id="common_button_box__operation_button" class="row text-center with-border"> |
| <div id="common_button_box__operation_button" class="row text-center with-border"> |
| <div class="col-sm-6 col-sm-offset-3 col-md-12 col-md-offset-0"> |
| <div class="col-sm-6 col-sm-offset-3 col-md-12 col-md-offset-0"> |
| <ul class="col-3"> |
| <ul class="col-3"> |
| {% if id is null %} |
| {% if id is null %} |
| <li> |
| <li> |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| 確認 |
| 確認 |
| </button> |
| </button> |
| </li> |
| </li> |
| <li> |
| <li> |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| 複製 |
| 複製 |
| </button> |
| </button> |
| </li> |
| </li> |
| <li> |
| <li> |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| <button class="btn btn-default btn-block btn-sm" disabled> |
| 削除 |
| 削除 |
| </button> |
| </button> |
| </li> |
| </li> |
| {% else %} |
| {% else %} |
| <li> |
| <li> |
| <a class="btn btn-default btn-block btn-sm" href="{{ url('admin_product_product_display', {'id' : id}) }}" target="_blank"> |
| <a class="btn btn-default btn-block btn-sm" href="{{ url('admin_product_product_display', {'id' : id}) }}" target="_blank"> |
| 確認 |
| 確認 |
| </a> |
| </a> |
| </li> |
| </li> |
| <li> |
| <li> |
| . | <button class="btn btn-default btn-block btn-sm" onclick="fnCopy('{{ url('admin_product_product_copy', {'id' : id}) }}');return false;"> |
| <a class="btn btn-default btn-block btn-sm" href="{{ url('admin_product_product_copy', {'id' : Product.id}) }}" {{ csrf_token_for_anchor() }} data-method="post" data-message="この商品情報を複製してもよろしいですか?"> |
| 複製 |
| 複製 |
| . | </button> |
| </a> |
| </li> |
| </li> |
| <li> |
| <li> |
| <a class="btn btn-default btn-block btn-sm" href="{{ url('admin_product_product_delete', {'id' : Product.id}) }}" {{ csrf_token_for_anchor() }} data-method="delete" data-message="この商品情報を削除してもよろしいですか?"> |
| <a class="btn btn-default btn-block btn-sm" href="{{ url('admin_product_product_delete', {'id' : Product.id}) }}" {{ csrf_token_for_anchor() }} data-method="delete" data-message="この商品情報を削除してもよろしいですか?"> |
| 削除 |
| 削除 |
| </a> |
| </a> |
| </li> |
| </li> |
| {% endif %} |
| {% endif %} |
| </ul> |
| </ul> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div><!-- /.box-body --> |
| </div><!-- /.box-body --> |
| </div><!-- /.box --> |
| </div><!-- /.box --> |
| |
| |
| <div id="common_date_info_box" class="box no-header"> |
| <div id="common_date_info_box" class="box no-header"> |
| <div id="common_date_info_box__body" class="box-body update-area"> |
| <div id="common_date_info_box__body" class="box-body update-area"> |
| <p><svg class="cb cb-clock"> <use xlink:href="#cb-clock" /></svg>登録日:{{ Product.create_date|date_format }}</p> |
| <p><svg class="cb cb-clock"> <use xlink:href="#cb-clock" /></svg>登録日:{{ Product.create_date|date_format }}</p> |
| <p><svg class="cb cb-clock"> <use xlink:href="#cb-clock" /></svg>更新日:{{ Product.update_date|date_format }}</p> |
| <p><svg class="cb cb-clock"> <use xlink:href="#cb-clock" /></svg>更新日:{{ Product.update_date|date_format }}</p> |
| </div> |
| </div> |
| </div><!-- /.box --> |
| </div><!-- /.box --> |
| |
| |
| <div id="common_shop_note_box" class="box"> |
| <div id="common_shop_note_box" class="box"> |
| <div id="common_shop_note_box__header" class="box-header"> |
| <div id="common_shop_note_box__header" class="box-header"> |
| <h3 class="box-title">ショップ用メモ欄</h3> |
| <h3 class="box-title">ショップ用メモ欄</h3> |
| </div><!-- /.box-header --> |
| </div><!-- /.box-header --> |
| <div id="common_shop_note_box__body" class="box-body"> |
| <div id="common_shop_note_box__body" class="box-body"> |
| {{ form_widget(form.note) }} |
| {{ form_widget(form.note) }} |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div><!-- /.col --> |
| </div><!-- /.col --> |
| |
| |
| </div> |
| </div> |
| </form> |
| </form> |
| |
| |
| {% endblock %} |
| {% endblock %} |
| |
| |