{#
This file is part of EC-CUBE
Copyright(c) LOCKON CO.,LTD. All Rights Reserved.
http://www.lockon.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'default_frame.twig' %}
{% set body_class = 'product_review' %}
{% form_theme form 'Form/form_div_layout.twig' %}
{% block stylesheet %}
<link rel="stylesheet" href="{{ asset('assets/css/fileupload/jquery.fileupload.css', 'admin') }}">
<link rel="stylesheet" href="{{ asset('assets/css/fileupload/jquery.fileupload-ui.css', 'admin') }}">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<style type="text/css">
.c-form__fileUploadThumbnail,.c-form__fileUploadThumbnail2{
display: inline-block;
width: 170px;
height: 170px;
background-color: #f5f6f8;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
cursor: pointer;
position: relative;
}
.c-form__fileUploadThumbnail .delete-image, .c-form__fileUploadThumbnail2 .delete-image{
font-family: FontAwesome;
font-size: 18px;
line-height: 1;
color: #54687A;
padding: 5px;
background: #fff;
border-radius: 3px;
position: absolute;
top: 2px;
right: 2px;
}
.upload-zone{
margin:0;
}
#thumb, #thumb2{
line-height: 1 !important;
}
</style>
<style>
#product_review_recommend_level {
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
#product_review_recommend_level label {
position: relative;
bottom: 18px;
left: 20px;
line-height: 0;
}
</style>
{% endblock stylesheet %}
{% block javascript %}
<script src="{{ asset('assets/js/vendor/fileupload/vendor/jquery.ui.widget.js', 'admin') }}"></script>
<script src="{{ asset('assets/js/vendor/fileupload/jquery.iframe-transport.js', 'admin') }}"></script>
<script src="{{ asset('assets/js/vendor/fileupload/jquery.fileupload.js', 'admin') }}"></script>
<script src="{{ asset('assets/js/vendor/fileupload/jquery.fileupload-process.js', 'admin') }}"></script>
<script src="{{ asset('assets/js/vendor/fileupload/jquery.fileupload-validate.js', 'admin') }}"></script>
<script>var bootstrapTooltip = $.fn.tooltip.noConflict();</script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script>
$(function() {
var hideThumbnail = function() {
if ($('#thumb div').length > 0) {
$('#icon_no_image').css('display', 'none');
} else {
$('#icon_no_image').css('display', '');
}
};
var proto_img = '<div class="c-form__fileUploadThumbnail" style="background-image:url(\'__path__\');">' +
'<a class="delete-image"><i class="fa fa-times" aria-hidden="true"></i></a>' +
'</div>';
var upload_file = $('#{{ form.upload_file.vars.id }}').val();
if (upload_file != '') {
var filename = $('#{{ form.upload_file.vars.id }}').val();
if (upload_file == '{{ oldUploadFile }}') {
var path = '{{ asset('', 'save_image') }}' + filename;
} else {
var path = '{{ asset('', 'temp_image') }}' + filename;
}
var $img = $(proto_img.replace(/__path__/g, path));
$('#{{ form.upload_file.vars.id }}').val(filename);
$('#thumb').append($img);
hideThumbnail();
}
hideThumbnail();
$('#{{ form.upload_file_file.vars.id }}').fileupload({
url: "{{ url('product_review_upload_file_add') }}",
type: 'post',
dataType: 'json',
dropZone: $('#upload-zone'),
done: function(e, data) {
$('.progress').hide();
var path = '{{ asset('', 'temp_image') }}/' + data.result.filename;
var $img = $(proto_img.replace(/__path__/g, path));
$('#{{ form.upload_file.vars.id }}').val(data.result.filename);
$('#thumb').append($img);
hideThumbnail();
},
fail: function(e, data) {
alert('{{ 'admin.common.upload_error'|trans }}');
},
always: function(e, data) {
$('.progress').hide();
$('.progress .progress-bar').width('0%');
},
start: function(e, data) {
if ($('.c-form__fileUploadThumbnail').length >= 1) {
$.each($('.delete-image'), function(index, delete_image) {
delete_image.click();
});
}
$('.progress').show();
$('#thumb').find('div').remove();
$('#{{ form.upload_file.vars.id }}').val('');
},
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
maxFileSize: 10000000,
maxNumberOfFiles: 1,
progressall: function(e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('.progress .progress-bar').css(
'width',
progress + '%'
);
},
processalways: function(e, data) {
if (data.files.error) {
alert("{{ 'admin.common.upload_error'|trans }}");
}
}
});
$('#thumb').on('click', '.delete-image', function() {
$('#{{ form.upload_file.vars.id }}').val('');
var thumbnail = $(this).parents('div.c-form__fileUploadThumbnail');
$(thumbnail).remove();
hideThumbnail();
});
// 画像アップロード
// $('#file_upload').on('click', function() {
// $('#{{ form.upload_file_file.vars.id }}').click();
// });
});
</script>
{% endblock javascript %}
{% block main %}
<div class="ec-registerRole">
<div class="ec-pageHeader">
<h1>{{ 'product_review.front.review.title'|trans }}</h1>
</div>
<div class="ec-off1Grid">
<div class="ec-off1Grid__cell">
<form method="post" action="{{ url('product_review_index', { id: Product.id }) }}">
{{ form_widget(form._token) }}
<p class="ec-para-nomal">{{ 'product_review.front.review.description'|trans }}</p>
<div class="ec-borderedDefs">
{# 商品名 #}
<dl>
<dt>
<label class="ec-label">{{ 'product_review.front.review.product_name'|trans }}</label>
</dt>
<dd>
<div class="ec-input">
{{ Product.name }}
</div>
</dd>
</dl>
{# 投稿者名 #}
<dl>
<dt>
{{ form_label(form.reviewer_name, '', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.reviewer_name) ? ' error' }}">
{{ form_widget(form.reviewer_name) }}
{{ form_errors(form.reviewer_name) }}
</div>
</dd>
</dl>
{# 投稿者URL #}
<dl>
<dt>
{{ form_label(form.reviewer_url, '', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.reviewer_url) ? ' error' }}">
{{ form_widget(form.reviewer_url) }}
{{ form_errors(form.reviewer_url) }}
</div>
</dd>
</dl>
{# 性別 #}
<dl>
<dt>
{{ form_label(form.sex, 'common.gender', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
<div class="ec-radio{{ has_errors(form.sex) ? ' error' }}">
{{ form_widget(form.sex) }}
{{ form_errors(form.sex) }}
</div>
</dd>
</dl>
{# おすすめレベル #}
<dl>
<dt>
{{ form_label(form.recommend_level, '', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
<div class="ec-radio{{ has_errors(form.recommend_level) ? ' error' }}">
{{ form_widget(form.recommend_level) }}
{{ form_errors(form.recommend_level) }}
</div>
</dd>
</dl>
{# タイトル #}
<dl>
<dt>
{{ form_label(form.title, '', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.title) ? ' error' }}">
{{ form_widget(form.title) }}
{{ form_errors(form.title) }}
</div>
</dd>
</dl>
{# コメント #}
<dl>
<dt>
{{ form_label(form.comment, '', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.comment) ? ' error' }}">
{{ form_widget(form.comment) }}
{{ form_errors(form.comment) }}
</div>
</dd>
</dl>
<dl>
<dt>
{{ form_label(form.upload_file, '图片', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="col mb-2">
<div class="progress" style="display: none;">
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<div id="thumb" class="c-form__fileUploadThumbnails clearfix"></div>
{{ form_widget(form.upload_file, { attr : { style : 'display:none;' } }) }}
<div id="upload-zone" class="media py-5 border-ec-dashed mb-2 rounded">
<div class="media-body">
<i class="fa fa-cloud-upload fa-3x text-ec-lightGray mx-3 align-middle" aria-hidden="true"></i>
{{ form_widget(form.upload_file_file, { attr : { accept : 'image/*', style : 'display:none;' } }) }}
{{ form_errors(form.upload_file) }}
<a class="btn btn-ec-regular mr-2" onclick="$('#product_review_upload_file_file').click()">
{{ 'admin.common.file_select'|trans }}
</a>
</div><!-- /.media-body -->
</div><!-- /.media -->
</div>
</dd>
</dl>
</div>
<div class="ec-registerRole__actions">
<div class="ec-off4Grid">
<div class="ec-off4Grid__cell">
<button class="ec-blockBtn--action" type="submit" name="mode"
value="confirm">{{ 'product_review.front.review.confirm'|trans }}</button>
<a class="ec-blockBtn--cancel"
href="{{ url('product_detail', { id: Product.id }) }}">{{ 'product_review.front.review.back'|trans }}</a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
{% endblock %}