google_base.twig (10394B)
1 {{ header }}{{ column_left }} 2 <div id="content"> 3 <div class="page-header"> 4 <div class="container-fluid"> 5 <div class="pull-right"> 6 <button type="button" id="button-import" data-toggle="tooltip" title="{{ button_import }}" class="btn btn-success"><i class="fa fa fa-upload"></i></button> 7 <button type="submit" form="form-feed" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> 8 <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> 9 <h1>{{ heading_title }}</h1> 10 <ul class="breadcrumb"> 11 {% for breadcrumb in breadcrumbs %} 12 <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> 13 {% endfor %} 14 </ul> 15 </div> 16 </div> 17 <div class="container-fluid"> 18 {% if error_warning %} 19 <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} 20 <button type="button" class="close" data-dismiss="alert">×</button> 21 </div> 22 {% endif %} 23 <div class="panel panel-default"> 24 <div class="panel-heading"> 25 <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> 26 </div> 27 <div class="panel-body"> 28 <div class="alert alert-info"><i class="fa fa-info-circle"></i> {{ text_import }} <button type="button" class="close" data-dismiss="alert">×</button></div> 29 <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-feed" class="form-horizontal"> 30 <div id="category"></div> 31 <br /> 32 <div class="form-group"> 33 <label class="col-sm-2 control-label" for="input-data-feed">{{ entry_google_category }}</label> 34 <div class="col-sm-10"> 35 <input type="text" name="google_base_category" value="" placeholder="{{ entry_google_category }}" id="input-google-category" class="form-control" /> 36 <input type="hidden" name="google_base_category_id" value="" /> 37 <div class="input-group"> 38 <input type="text" name="category" value="" placeholder="{{ entry_category }}" id="input-category" class="form-control" /> 39 <input type="hidden" name="category_id" value="" /> 40 <span class="input-group-btn"><button type="button" id="button-category-add" data-toggle="tooltip" title="{{ button_category_add }}" class="btn btn-primary"><i class="fa fa-plus"></i></button></span> 41 </div> 42 </div> 43 </div> 44 <div class="form-group"> 45 <label class="col-sm-2 control-label" for="input-data-feed">{{ entry_data_feed }}</label> 46 <div class="col-sm-10"> 47 <textarea rows="5" id="input-data-feed" class="form-control" readonly>{{ data_feed }}</textarea> 48 </div> 49 </div> 50 <div class="form-group"> 51 <label class="col-sm-2 control-label" for="input-status">{{ entry_status }}</label> 52 <div class="col-sm-10"> 53 <select name="feed_google_base_status" id="input-status" class="form-control"> 54 {% if feed_google_base_status %} 55 <option value="1" selected="selected">{{ text_enabled }}</option> 56 <option value="0">{{ text_disabled }}</option> 57 {% else %} 58 <option value="1">{{ text_enabled }}</option> 59 <option value="0" selected="selected">{{ text_disabled }}</option> 60 {% endif %} 61 </select> 62 </div> 63 </div> 64 </form> 65 </div> 66 </div> 67 </div> 68 <script type="text/javascript"><!-- 69 // Google Category 70 $('input[name=\'google_base_category\']').autocomplete({ 71 'source': function(request, response) { 72 $.ajax({ 73 url: 'index.php?route=extension/feed/google_base/autocomplete&user_token={{ user_token }}&filter_name=' + encodeURIComponent(request), 74 dataType: 'json', 75 success: function(json) { 76 response($.map(json, function(item) { 77 return { 78 label: item['name'], 79 value: item['google_base_category_id'] 80 } 81 })); 82 }, 83 error: function(xhr, ajaxOptions, thrownError) { 84 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 85 } 86 }); 87 }, 88 'select': function(item) { 89 $(this).val(item['label']); 90 $('input[name=\'google_base_category_id\']').val(item['value']); 91 } 92 }); 93 94 // Category 95 $('input[name=\'category\']').autocomplete({ 96 'source': function(request, response) { 97 $.ajax({ 98 url: 'index.php?route=catalog/category/autocomplete&user_token={{ user_token }}&filter_name=' + encodeURIComponent(request), 99 dataType: 'json', 100 success: function(json) { 101 response($.map(json, function(item) { 102 return { 103 label: item['name'], 104 value: item['category_id'] 105 } 106 })); 107 }, 108 error: function(xhr, ajaxOptions, thrownError) { 109 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 110 } 111 }); 112 }, 113 'select': function(item) { 114 $(this).val(item['label']); 115 $('input[name="category_id"]').val(item['value']); 116 } 117 }); 118 119 $('#category').delegate('.pagination a', 'click', function(e) { 120 e.preventDefault(); 121 122 $('#category').load(this.href); 123 }); 124 125 $('#category').load('index.php?route=extension/feed/google_base/category&user_token={{ user_token }}'); 126 127 $('#button-category-add').on('click', function() { 128 $.ajax({ 129 url: 'index.php?route=extension/feed/google_base/addcategory&user_token={{ user_token }}', 130 type: 'post', 131 dataType: 'json', 132 data: 'google_base_category_id=' + $('input[name=\'google_base_category_id\']').val() + '&category_id=' + $('input[name=\'category_id\']').val(), 133 beforeSend: function() { 134 $('#button-category-add').button('loading'); 135 }, 136 complete: function() { 137 $('#button-category-add').button('reset'); 138 }, 139 success: function(json) { 140 $('.alert-dismissible').remove(); 141 142 if (json['error']) { 143 $('#category').before('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 144 } 145 146 if (json['success']) { 147 $('#category').load('index.php?route=extension/feed/google_base/category&user_token={{ user_token }}'); 148 149 $('#category').before('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 150 151 $('input[name=\'category\']').val(''); 152 $('input[name=\'category_id\']').val(''); 153 $('input[name=\'google_base_category\']').val(''); 154 $('input[name=\'google_base_category_id\']').val(''); 155 } 156 }, 157 error: function(xhr, ajaxOptions, thrownError) { 158 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 159 } 160 }); 161 }); 162 163 $('#category').delegate('.btn-danger', 'click', function() { 164 var node = this; 165 166 $.ajax({ 167 url: 'index.php?route=extension/feed/google_base/removecategory&user_token={{ user_token }}', 168 type: 'post', 169 data: 'category_id=' + encodeURIComponent(this.value), 170 dataType: 'json', 171 crossDomain: true, 172 beforeSend: function() { 173 $(node).button('loading'); 174 }, 175 complete: function() { 176 $(node).button('reset'); 177 }, 178 success: function(json) { 179 $('.alert-dismissible').remove(); 180 181 // Check for errors 182 if (json['error']) { 183 $('#content > .container-fluid').prepend('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 184 } 185 186 if (json['success']) { 187 $('#category').load('index.php?route=extension/feed/google_base/category&user_token={{ user_token }}'); 188 189 $('#category').before('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 190 } 191 }, 192 error: function(xhr, ajaxOptions, thrownError) { 193 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 194 } 195 }); 196 }); 197 198 $('#button-import').on('click', function() { 199 $('#form-upload').remove(); 200 201 $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); 202 203 $('#form-upload input[name=\'file\']').trigger('click'); 204 205 if (typeof timer != 'undefined') { 206 clearInterval(timer); 207 } 208 209 timer = setInterval(function() { 210 if ($('#form-upload input[name=\'file\']').val() != '') { 211 clearInterval(timer); 212 213 $.ajax({ 214 url: 'index.php?route=extension/feed/google_base/import&user_token={{ user_token }}', 215 type: 'post', 216 dataType: 'json', 217 data: new FormData($('#form-upload')[0]), 218 cache: false, 219 contentType: false, 220 processData: false, 221 beforeSend: function() { 222 $('#button-import').button('loading'); 223 }, 224 complete: function() { 225 $('#button-import').button('reset'); 226 }, 227 success: function(json) { 228 $('.alert-dismissible').remove(); 229 230 if (json['error']) { 231 $('#content > .container-fluid').prepend('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 232 } 233 234 if (json['success']) { 235 $('#content > .container-fluid').prepend('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 236 } 237 }, 238 error: function(xhr, ajaxOptions, thrownError) { 239 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 240 } 241 }); 242 } 243 }, 500); 244 }); 245 //--></script> 246 </div> 247 {{ footer }}