169 lines
7.3 KiB
Twig
169 lines
7.3 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-module" 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_edit }}</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-module" class="form-horizontal">
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-name">{{ entry_name }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="name" value="{{ name }}" placeholder="{{ entry_name }}" id="input-name" class="form-control" />
|
|
{% if error_name %}
|
|
<div class="text-danger">{{ error_name }}</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-product"><span data-toggle="tooltip" title="{{ help_product }}">{{ entry_product }}</span></label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="product_name" value="" placeholder="{{ entry_product }}" id="input-product" class="form-control" />
|
|
<div id="featured-product" class="well well-sm" style="height: 150px; overflow: auto;">
|
|
{% for product in products %}
|
|
<div id="featured-product{{ product.product_id }}"><i class="fa fa-minus-circle"></i> {{ product.name }}
|
|
<input type="hidden" name="product[]" value="{{ product.product_id }}" />
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-random">{{ entry_random }}</label>
|
|
<div class="col-sm-10">
|
|
<div class="input-group">
|
|
<input type="number" name="random_count" value="5" placeholder="{{ entry_random }}" id="input-random" class="form-control" min="1" />
|
|
<span class="input-group-btn">
|
|
<button type="button" id="button-random" data-toggle="tooltip" title="{{ button_random }}" class="btn btn-primary"><i class="fa fa-random"></i> {{ button_random }}</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-limit">{{ entry_limit }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="limit" value="{{ limit }}" placeholder="{{ entry_limit }}" id="input-limit" class="form-control" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-width">{{ entry_width }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="width" value="{{ width }}" placeholder="{{ entry_width }}" id="input-width" class="form-control" />
|
|
{% if error_width %}
|
|
<div class="text-danger">{{ error_width }}</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label" for="input-height">{{ entry_height }}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" name="height" value="{{ height }}" placeholder="{{ entry_height }}" id="input-height" class="form-control" />
|
|
{% if error_height %}
|
|
<div class="text-danger">{{ error_height }}</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<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>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript"><!--
|
|
// Reorderable drag-and-drop lists
|
|
$('#featured-product div input').before(' <i class="fa fa-hand-grab-o handle"></i> ');
|
|
$('#featured-product').sortable({
|
|
handle: '.handle',
|
|
chosenClass: 'handle-active',
|
|
});
|
|
$('input[name=\'product_name\']').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=\'product_name\']').val('');
|
|
|
|
$('#featured-product' + item['value']).remove();
|
|
|
|
$('#featured-product').append('<div id="featured-product' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product[]" value="' + item['value'] + '" /></div>');
|
|
}
|
|
});
|
|
|
|
$('#featured-product').delegate('.fa-minus-circle', 'click', function() {
|
|
$(this).parent().remove();
|
|
});
|
|
|
|
$('#button-random').on('click', function() {
|
|
var limit = parseInt($('#input-random').val()) || 5;
|
|
var exclude = [];
|
|
|
|
$('#featured-product input[name=\'product[]\']').each(function() {
|
|
exclude.push($(this).val());
|
|
});
|
|
|
|
$.ajax({
|
|
url: 'index.php?route=extension/module/featured/random&user_token={{ user_token }}&limit=' + limit,
|
|
type: 'GET',
|
|
dataType: 'json',
|
|
traditional: true,
|
|
data: { exclude: exclude },
|
|
beforeSend: function() {
|
|
$('#button-random').button('loading');
|
|
},
|
|
complete: function() {
|
|
$('#button-random').button('reset');
|
|
},
|
|
success: function(json) {
|
|
$.each(json, function(i, item) {
|
|
$('#featured-product' + item['product_id']).remove();
|
|
$('#featured-product').append('<div id="featured-product' + item['product_id'] + '"><i class="fa fa-minus-circle"></i> ' + item['name'] + '<input type="hidden" name="product[]" value="' + item['product_id'] + '" /></div>');
|
|
});
|
|
$('#featured-product div input').before(' <i class="fa fa-hand-grab-o handle"></i> ');
|
|
}
|
|
});
|
|
});
|
|
//--></script></div>
|
|
{{ footer }}
|