400 lines
21 KiB
Twig
400 lines
21 KiB
Twig
{{ header }}{{ column_left }}
|
|
<div id="content">
|
|
<div class="page-header">
|
|
<div class="container-fluid">
|
|
<div class="pull-right">
|
|
<button type="submit" form="form-service" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button>
|
|
<a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div>
|
|
<h1>{{ heading_title }}</h1>
|
|
<ul class="breadcrumb">
|
|
{% for breadcrumb in breadcrumbs %}
|
|
<li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="container-fluid"> {% if error_warning %}
|
|
<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }}
|
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
|
</div>
|
|
{% endif %}
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_form }}</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-service" class="form-horizontal">
|
|
<ul class="nav nav-tabs">
|
|
<li class="active"><a href="#tab-general" data-toggle="tab">{{ tab_general }}</a></li>
|
|
<li><a href="#tab-data" data-toggle="tab">{{ tab_data }}</a></li>
|
|
<li><a href="#tab-links" data-toggle="tab">{{ tab_links }}</a></li>
|
|
<li><a href="#tab-image" data-toggle="tab">{{ tab_image }}</a></li>
|
|
<li><a href="#tab-seo" data-toggle="tab">{{ tab_seo }}</a></li>
|
|
<li><a href="#tab-design" data-toggle="tab">{{ tab_design }}</a></li>
|
|
</ul>
|
|
<div class="tab-content">
|
|
<div class="tab-pane active" id="tab-general">
|
|
<ul class="nav nav-tabs" id="language">
|
|
{% for language in languages %}
|
|
<li><a href="#language{{ language.language_id }}" data-toggle="tab"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> {{ language.name }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
<div class="tab-content">{% for language in languages %}
|
|
<div class="tab-pane" id="language{{ language.language_id }}">
|
|
<div class="form-group required">
|
|
<label class="col-sm-2 control-label" for="input-name{{ language.language_id }}">{{ entry_name }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="service_description[{{ language.language_id }}][name]" value="{{ service_description[language.language_id] ? service_description[language.language_id].name }}" placeholder="{{ entry_name }}" id="input-name{{ language.language_id }}" class="form-control" />
|
|
{% if error_name[language.language_id] %}
|
|
<div class="text-danger">{{ error_name[language.language_id] }}</div>
|
|
{% endif %} </div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-meta-h1{{ language.language_id }}">{{ entry_meta_h1 }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="service_description[{{ language.language_id }}][meta_h1]" value="{{ service_description[language.language_id] ? service_description[language.language_id].meta_h1 }}" placeholder="{{ entry_meta_h1 }}" id="input-meta-h1{{ language.language_id }}" class="form-control" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-meta-title{{ language.language_id }}">{{ entry_meta_title }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="service_description[{{ language.language_id }}][meta_title]" value="{{ service_description[language.language_id] ? service_description[language.language_id].meta_title }}" placeholder="{{ entry_meta_title }}" id="input-meta-title{{ language.language_id }}" class="form-control" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-meta-description{{ language.language_id }}">{{ entry_meta_description }}</label>
|
|
<div class="col-sm-10">
|
|
<textarea name="service_description[{{ language.language_id }}][meta_description]" rows="5" placeholder="{{ entry_meta_description }}" id="input-meta-description{{ language.language_id }}" class="form-control">{{ service_description[language.language_id] ? service_description[language.language_id].meta_description }}</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-meta-keyword{{ language.language_id }}">{{ entry_meta_keyword }}</label>
|
|
<div class="col-sm-10">
|
|
<textarea name="service_description[{{ language.language_id }}][meta_keyword]" rows="5" placeholder="{{ entry_meta_keyword }}" id="input-meta-keyword{{ language.language_id }}" class="form-control">{{ service_description[language.language_id] ? service_description[language.language_id].meta_keyword }}</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-description{{ language.language_id }}">{{ entry_description }}</label>
|
|
<div class="col-sm-10">
|
|
<textarea name="service_description[{{ language.language_id }}][description]" placeholder="{{ entry_description }}" id="input-description{{ language.language_id }}" data-toggle="summernote" data-lang="{{ summernote }}" class="form-control">{{ service_description[language.language_id] ? service_description[language.language_id].description }}</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}</div>
|
|
</div>
|
|
<div class="tab-pane" id="tab-data">
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-status">{{ entry_status }}</label>
|
|
<div class="col-sm-10">
|
|
<select name="status" id="input-status" class="form-control">
|
|
{% if status %}
|
|
<option value="1" selected="selected">{{ text_enabled }}</option>
|
|
<option value="0">{{ text_disabled }}</option>
|
|
{% else %}
|
|
<option value="1">{{ text_enabled }}</option>
|
|
<option value="0" selected="selected">{{ text_disabled }}</option>
|
|
{% endif %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-sort-order">{{ entry_sort_order }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="sort_order" value="{{ sort_order }}" placeholder="{{ entry_sort_order }}" id="input-sort-order" class="form-control" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab-pane" id="tab-links">
|
|
<div class="form-group required">
|
|
<label class="col-sm-2 control-label" for="input-category">{{ entry_category }}</label>
|
|
<div class="col-sm-10">
|
|
<select name="service_category_id" id="input-category" class="form-control">
|
|
<option value="0">{{ text_none }}</option>
|
|
{% for category in categories %}
|
|
{% if category.service_category_id == service_category_id %}
|
|
<option value="{{ category.service_category_id }}" selected="selected">{{ category.name }}</option>
|
|
{% else %}
|
|
<option value="{{ category.service_category_id }}">{{ category.name }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</select>
|
|
{% if error_category %}
|
|
<div class="text-danger">{{ error_category }}</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">{{ entry_store }}</label>
|
|
<div class="col-sm-10">
|
|
<div class="well well-sm" style="height: 150px; overflow: auto;"> {% for store in stores %}
|
|
<div class="checkbox">
|
|
<label> {% if store.store_id in service_store %}
|
|
<input type="checkbox" name="service_store[]" value="{{ store.store_id }}" checked="checked" />
|
|
{{ store.name }}
|
|
{% else %}
|
|
<input type="checkbox" name="service_store[]" value="{{ store.store_id }}" />
|
|
{{ store.name }}
|
|
{% endif %} </label>
|
|
</div>
|
|
{% endfor %}</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-download"><span data-toggle="tooltip" title="{{ help_download }}">{{ entry_download }}</span></label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="download" value="" placeholder="{{ entry_download }}" id="input-download" class="form-control" />
|
|
<div id="service-download" class="well well-sm" style="height: 150px; overflow: auto;"> {% for service_download in service_downloads %}
|
|
<div id="service-download{{ service_download.download_id }}"><i class="fa fa-minus-circle"></i> {{ service_download.name }}
|
|
<input type="hidden" name="service_download[]" value="{{ service_download.download_id }}" />
|
|
</div>
|
|
{% endfor %}</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-related"><span data-toggle="tooltip" title="{{ help_related }}">{{ entry_related }}</span></label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="related" value="" placeholder="{{ entry_related }}" id="input-related" class="form-control" />
|
|
<div id="service-related" class="well well-sm" style="height: 150px; overflow: auto;"> {% for service_related in service_relateds %}
|
|
<div id="service-related{{ service_related.service_id }}"><i class="fa fa-minus-circle"></i> {{ service_related.name }}
|
|
<input type="hidden" name="service_related[]" value="{{ service_related.service_id }}" />
|
|
</div>
|
|
{% endfor %}</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-related-product"><span data-toggle="tooltip" title="{{ help_related_product }}">{{ entry_related_product }}</span></label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="relatedproduct" value="" placeholder="{{ entry_related_product }}" id="input-related-product" class="form-control" />
|
|
<div id="product-related" class="well well-sm" style="height: 150px; overflow: auto;"> {% for product_related in product_relateds %}
|
|
<div id="product-related{{ product_related.product_id }}"><i class="fa fa-minus-circle"></i> {{ product_related.name }}
|
|
<input type="hidden" name="product_related[]" value="{{ product_related.product_id }}" />
|
|
</div>
|
|
{% endfor %}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab-pane" id="tab-image">
|
|
<div class="table-responsive">
|
|
<table class="table table-striped table-bordered table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td class="text-left">{{ entry_image }}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="text-left"><a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="{{ thumb }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a>
|
|
<input type="hidden" name="image" value="{{ image }}" id="input-image" /></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="table-responsive">
|
|
<table id="images" class="table table-striped table-bordered table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td class="text-left">{{ entry_additional_image }}</td>
|
|
<td class="text-right">{{ entry_sort_order }}</td>
|
|
<td></td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="tab-pane" id="tab-seo">
|
|
<div class="alert alert-info"><i class="fa fa-info-circle"></i> {{ text_keyword }}</div>
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td class="text-left">{{ entry_store }}</td>
|
|
<td class="text-left">{{ entry_keyword }}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for store in stores %}
|
|
<tr>
|
|
<td class="text-left">{{ store.name }}</td>
|
|
<td class="text-left">{% for language in languages %}
|
|
<div class="input-group"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>
|
|
<input type="text" name="service_seo_url[{{ store.store_id }}][{{ language.language_id }}]" value="{% if service_seo_url[store.store_id][language.language_id] %}{{ service_seo_url[store.store_id][language.language_id] }}{% endif %}" placeholder="{{ entry_keyword }}" class="form-control" />
|
|
</div>
|
|
{% if error_keyword[store.store_id][language.language_id] %}
|
|
<div class="text-danger">{{ error_keyword[store.store_id][language.language_id] }}</div>
|
|
{% endif %}
|
|
{% endfor %}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
|
|
</table>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-noindex">{{ entry_noindex }}</label>
|
|
<div class="col-sm-10">
|
|
<select name="noindex" id="input-noindex" class="form-control">
|
|
{% if noindex %}
|
|
<option value="1" selected="selected">{{ text_enabled }}</option>
|
|
<option value="0">{{ text_disabled }}</option>
|
|
{% else %}
|
|
<option value="1">{{ text_enabled }}</option>
|
|
<option value="0" selected="selected">{{ text_disabled }}</option>
|
|
{% endif %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab-pane" id="tab-design">
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td class="text-left">{{ entry_store }}</td>
|
|
<td class="text-left">{{ entry_layout }}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for store in stores %}
|
|
<tr>
|
|
<td class="text-left">{{ store.name }}</td>
|
|
<td class="text-left"><select name="service_layout[{{ store.store_id }}]" class="form-control">
|
|
<option value=""></option>
|
|
{% for layout in layouts %}
|
|
{% if service_layout[store.store_id] and service_layout[store.store_id] == layout.layout_id %}
|
|
<option value="{{ layout.layout_id }}" selected="selected">{{ layout.name }}</option>
|
|
{% else %}
|
|
<option value="{{ layout.layout_id }}">{{ layout.name }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</select></td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<link href="view/javascript/codemirror/lib/codemirror.css" rel="stylesheet" />
|
|
<link href="view/javascript/codemirror/theme/monokai.css" rel="stylesheet" />
|
|
<script type="text/javascript" src="view/javascript/codemirror/lib/codemirror.js"></script>
|
|
<script type="text/javascript" src="view/javascript/codemirror/lib/xml.js"></script>
|
|
<script type="text/javascript" src="view/javascript/codemirror/lib/formatting.js"></script>
|
|
<script type="text/javascript" src="view/javascript/summernote/summernote.js"></script>
|
|
<link href="view/javascript/summernote/summernote.css" rel="stylesheet" />
|
|
<script type="text/javascript" src="view/javascript/summernote/summernote-image-attributes.js"></script>
|
|
<script type="text/javascript" src="view/javascript/summernote/opencart.js"></script>
|
|
<script type="text/javascript"><!--
|
|
// Downloads
|
|
$('input[name=\'download\']').autocomplete({
|
|
'source': function(request, response) {
|
|
$.ajax({
|
|
url: 'index.php?route=catalog/download/autocomplete&user_token={{ user_token }}&filter_name=' + encodeURIComponent(request),
|
|
dataType: 'json',
|
|
success: function(json) {
|
|
response($.map(json, function(item) {
|
|
return {
|
|
label: item['name'],
|
|
value: item['download_id']
|
|
}
|
|
}));
|
|
}
|
|
});
|
|
},
|
|
'select': function(item) {
|
|
$('input[name=\'download\']').val('');
|
|
|
|
$('#service-download' + item['value']).remove();
|
|
|
|
$('#service-download').append('<div id="service-download' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="service_download[]" value="' + item['value'] + '" /></div>');
|
|
}
|
|
});
|
|
|
|
$('#service-download').delegate('.fa-minus-circle', 'click', function() {
|
|
$(this).parent().remove();
|
|
});
|
|
|
|
// Related
|
|
$('input[name=\'related\']').autocomplete({
|
|
'source': function(request, response) {
|
|
$.ajax({
|
|
url: 'index.php?route=service/service/autocomplete&user_token={{ user_token }}&filter_name=' + encodeURIComponent(request),
|
|
dataType: 'json',
|
|
success: function(json) {
|
|
response($.map(json, function(item) {
|
|
return {
|
|
label: item['name'],
|
|
value: item['service_id']
|
|
}
|
|
}));
|
|
}
|
|
});
|
|
},
|
|
'select': function(item) {
|
|
$('input[name=\'related\']').val('');
|
|
|
|
$('#service-related' + item['value']).remove();
|
|
|
|
$('#service-related').append('<div id="service-related' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="service_related[]" value="' + item['value'] + '" /></div>');
|
|
}
|
|
});
|
|
|
|
$('#service-related').delegate('.fa-minus-circle', 'click', function() {
|
|
$(this).parent().remove();
|
|
});
|
|
// Related Product
|
|
$('input[name=\'relatedproduct\']').autocomplete({
|
|
'source': function(request, response) {
|
|
$.ajax({
|
|
url: 'index.php?route=catalog/product/autocomplete&user_token={{ user_token }}&filter_name=' + encodeURIComponent(request),
|
|
dataType: 'json',
|
|
success: function(json) {
|
|
response($.map(json, function(item) {
|
|
return {
|
|
label: item['name'],
|
|
value: item['product_id']
|
|
}
|
|
}));
|
|
}
|
|
});
|
|
},
|
|
'select': function(item) {
|
|
$('input[name=\'relatedproduct\']').val('');
|
|
|
|
$('#product-related' + item['value']).remove();
|
|
|
|
$('#product-related').append('<div id="product-related' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_related[]" value="' + item['value'] + '" /></div>');
|
|
}
|
|
});
|
|
|
|
$('#product-related').delegate('.fa-minus-circle', 'click', function() {
|
|
$(this).parent().remove();
|
|
});
|
|
//--></script>
|
|
|
|
<script type="text/javascript"><!--
|
|
$('.date').datetimepicker({
|
|
language: '{{ datepicker }}',
|
|
pickTime: false
|
|
});
|
|
|
|
$('.time').datetimepicker({
|
|
language: '{{ datepicker }}',
|
|
pickDate: false
|
|
});
|
|
|
|
$('.datetime').datetimepicker({
|
|
language: '{{ datepicker }}',
|
|
pickDate: true,
|
|
pickTime: true
|
|
});
|
|
//--></script>
|
|
<script type="text/javascript"><!--
|
|
$('#language a:first').tab('show');
|
|
$('#option a:first').tab('show');
|
|
//--></script></div>
|
|
{{ footer }}
|