170 lines
9.5 KiB
Handlebars
170 lines
9.5 KiB
Handlebars
|
{{> menu}}
|
||
|
<div class="col-lg-9">
|
||
|
<form method="post" class="form-horizontal" id="insert_form" action="/admin/product/update" data-toggle="validator">
|
||
|
<div class="col-lg-12">
|
||
|
<div class="page-header">
|
||
|
<div class="pull-right">
|
||
|
<button type="button" class="btn btn-info" data-toggle="modal" data-target="#myModal">Upload image</button>
|
||
|
<button id="frm_edit_product_save" class="btn btn-success">Save product <i class="fa fa-floppy-o"></i></button>
|
||
|
</div>
|
||
|
<h2>Edit product</h2>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label for="frmProductTitle" class="col-sm-2 control-label">Product title *</label>
|
||
|
<div class="col-sm-10">
|
||
|
<input type="text" name="frmProductTitle" class="form-control" minlength="5" maxlength="200" value="{{result.productTitle}}" required/>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label for="frmProductPrice" class="col-sm-2 control-label">Product price *</label>
|
||
|
<div class="col-sm-6">
|
||
|
<div class="input-group">
|
||
|
<span class="input-group-addon">{{currencySymbol config.currencySymbol}}</span>
|
||
|
<input type="number" name="frmProductPrice" class="form-control" value="{{result.productPrice}}" step="any" required/>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label for="frmProductPublished" class="col-sm-2 control-label">Status</label>
|
||
|
<div class="col-sm-6">
|
||
|
<select class="form-control" id="frmProductPublished" name="frmProductPublished">
|
||
|
<option value="true" {{selectState result.productPublished "true"}}>Published</option>
|
||
|
<option value="false" {{selectState result.productPublished "false"}}>Draft</option>
|
||
|
</select>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label for="editor" class="col-sm-2 control-label">Product description *</label>
|
||
|
<div class="col-sm-10">
|
||
|
<textarea id="editor" minlength="5" rows="10" id="frmProductDescription" name="frmProductDescription" class="form-control" required>{{result.productDescription}}</textarea>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label class="col-sm-2 control-label">Permalink</label>
|
||
|
<div class="col-sm-10">
|
||
|
<div class="input-group">
|
||
|
<input type="text" class="form-control" name="frmProductPermalink" id="frmProductPermalink" placeholder="Permalink for the article" value={{result.productPermalink}}>
|
||
|
<span class="input-group-btn">
|
||
|
<button class="btn btn-success" id="validate_permalink" type="button">Validate</button>
|
||
|
</span>
|
||
|
</div>
|
||
|
<p class="help-block">This sets a readable URL for the product</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<input type="hidden" id="productOptJson" name="productOptJson" value="{{result.productOptions}}" />
|
||
|
<label for="editor" class="col-sm-2 control-label">Product options</label>
|
||
|
<div class="col-lg-10">
|
||
|
<ul class="list-group" id="product_opt_wrapper">
|
||
|
<li class="list-group-item">
|
||
|
<div class="row">
|
||
|
<div class="col-lg-2">
|
||
|
<strong>Name:</strong>
|
||
|
<input type="text" id="product_optName" class="form-control" placeholder="size" />
|
||
|
</div>
|
||
|
<div class="col-lg-2">
|
||
|
<strong>Label:</strong>
|
||
|
<input type="text" id="product_optLabel" class="form-control" placeholder="Select size"/>
|
||
|
</div>
|
||
|
<div class="col-lg-2">
|
||
|
<strong>Type:</strong>
|
||
|
<select id="product_optType" class="form-control">
|
||
|
<option value="select">Select</option>
|
||
|
<option value="radio">Radio</option>
|
||
|
<option value="checkbox">Checkbox</option>
|
||
|
</select>
|
||
|
</div>
|
||
|
<div class="col-lg-4">
|
||
|
<strong>Options:</strong>
|
||
|
<input type="text" id="product_optOptions" class="form-control" placeholder="comma, seporated, list"/>
|
||
|
</div>
|
||
|
<div class="col-lg-2 text-right"></br>
|
||
|
<button id="product_opt_add" class="btn btn-success">Add</button>
|
||
|
</div></div>
|
||
|
</li>
|
||
|
{{#each options}}
|
||
|
<li class="list-group-item">
|
||
|
<div class="row">
|
||
|
<div class='col-lg-2 opt-name'>{{this.optName}}</div>
|
||
|
<div class='col-lg-2'>{{this.optLabel}}</div>
|
||
|
<div class='col-lg-2'>{{this.optType}}</div>
|
||
|
<div class='col-lg-4'>{{{this.optOptions}}}</div>
|
||
|
<div class='col-lg-2 text-right'>
|
||
|
<button class='product_opt_remove btn btn-danger btn-sm'>Remove</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</li>
|
||
|
{{/each}}
|
||
|
</ul>
|
||
|
<p class="help-block">Here you can set options for your product. Eg: Size, color, style</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label for="frmProductTags" class="col-sm-2 control-label">Product tag words</label>
|
||
|
<div class="col-sm-10">
|
||
|
<input type="text" class="form-control" id="frmProductTags" name="frmProductTags" value="{{result.productTags}}">
|
||
|
<p class="help-block">Tag words are used to making searching for products easier</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div id="product-images">
|
||
|
<h2>Product images</h2>
|
||
|
{{#if images}}
|
||
|
<div class="row">
|
||
|
<div class="col-md-10 col-md-offset-2">
|
||
|
{{#each images}}
|
||
|
<div class="col-md-3">
|
||
|
<p>
|
||
|
<a data-id="{{this.path}}" class="btn-delete-image btn btn-danger btn-sm">Delete</a>
|
||
|
{{#ifCond this.productImage '==' true}}
|
||
|
<span class="label label-info">main image</span>
|
||
|
{{else}}
|
||
|
<a data-id="{{this.path}}" class="set-as-main-image btn btn-sm btn-success">Set as main image</a>
|
||
|
{{/ifCond}}
|
||
|
</p>
|
||
|
<img src="{{this.path}}" class="product-main-image img-responsive">
|
||
|
</div>
|
||
|
{{/each}}
|
||
|
</div>
|
||
|
</div>
|
||
|
{{else}}
|
||
|
<h4 class="text-warning">No images have been uploaded for this product</h4>
|
||
|
{{/if}}
|
||
|
</div>
|
||
|
</div>
|
||
|
<input type="hidden" name="frmProductId" id="frmProductId" value="{{result._id}}" />
|
||
|
</form>
|
||
|
</div>
|
||
|
|
||
|
<!-- Modal -->
|
||
|
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||
|
<div class="modal-dialog">
|
||
|
<div class="modal-content">
|
||
|
<form method="post" id="upload_form" name="upload_form" action="/admin/file/upload" enctype="multipart/form-data">
|
||
|
<div class="modal-header">
|
||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||
|
<h4 class="modal-title" id="myModalLabel">Product image upload</h4>
|
||
|
</div>
|
||
|
<div class="modal-body">
|
||
|
<span class="btn btn-info btn-file">
|
||
|
Select file<input type="file" name="upload_file" id="upload_file">
|
||
|
</span>
|
||
|
<input type="hidden" id="directory" name="directory" value="{{result._id}}"/>
|
||
|
</div>
|
||
|
<div class="modal-footer">
|
||
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
||
|
<button type="submit" id="saveButton" name="saveButton" class="btn btn-primary">Upload</button>
|
||
|
</div>
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.2/summernote.min.js"></script>
|
||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.2/summernote.css" rel="stylesheet">
|
||
|
<script>
|
||
|
$(document).ready(function() {
|
||
|
$('#editor').summernote({
|
||
|
height: 300,
|
||
|
minHeight: null
|
||
|
});
|
||
|
});
|
||
|
</script>
|