[27568] | 1 | {combine_script id='jquery.dataTables' load='footer' path='themes/default/js/plugins/jquery.dataTables.js'} |
---|
| 2 | {combine_css path="themes/default/js/plugins/datatables/css/jquery.dataTables.css"} |
---|
| 3 | {combine_css path=$MPS_PATH|@cat:"admin/template/style.css"} |
---|
| 4 | {combine_script id='jquery.ui.sortable' load='footer' path='themes/default/js/ui/minified/jquery.ui.sortable.min.js'} |
---|
| 5 | {combine_script id='jquery.chosen' load='footer' path='themes/default/js/plugins/chosen.jquery.min.js'} |
---|
| 6 | {combine_css path="themes/default/js/plugins/chosen.css"} |
---|
| 7 | |
---|
| 8 | |
---|
| 9 | {footer_script}{literal} |
---|
| 10 | (function($) { |
---|
| 11 | $(document).ready(function(){ |
---|
| 12 | |
---|
| 13 | |
---|
| 14 | var $oTable, |
---|
| 15 | $nEditing = null, |
---|
| 16 | $val = $('.val').html(), |
---|
| 17 | $add_opt = $('#add_option_prod').html(); |
---|
| 18 | |
---|
| 19 | $('#product_list input[type=checkbox]').each(function(){ |
---|
| 20 | $(this).prop('checked', false) |
---|
| 21 | }); |
---|
| 22 | |
---|
| 23 | $('#AddProd').click(function() { |
---|
| 24 | $('.Tadd').show(); |
---|
| 25 | $('#Add_product').fadeIn(); |
---|
| 26 | $('#showAddProd .infos').hide(); |
---|
| 27 | $('input[name=product]').focus(); |
---|
| 28 | return false; |
---|
| 29 | }); |
---|
| 30 | |
---|
| 31 | $('#close_Add_product').click(function() { |
---|
| 32 | $('#Add_product').fadeOut(function(){ |
---|
| 33 | $('#add_option_prod').hide(); |
---|
| 34 | $('.tit').hide(); |
---|
| 35 | $('#AddProdForm input[type=text]').attr('value',''); |
---|
| 36 | $('#AddProdForm textarea#noteAdmin').val(''); |
---|
| 37 | $('li.search-choice').remove(); |
---|
| 38 | $('select.chzn-select option').each(function(){ |
---|
| 39 | $(this).removeAttr('selected'); |
---|
| 40 | }) |
---|
| 41 | }); |
---|
| 42 | return false; |
---|
| 43 | }); |
---|
| 44 | |
---|
| 45 | $('#AddProdForm').submit(function(){ |
---|
| 46 | var $return = true; |
---|
| 47 | if($.trim($('input#product',this).val()).length==0 || $.trim($('input#price',this).val()).length==0){ |
---|
| 48 | $return = false; |
---|
| 49 | $('.errors').show(); |
---|
| 50 | setTimeout(function(){ |
---|
| 51 | $('.errors').hide() |
---|
| 52 | },3000); |
---|
| 53 | } |
---|
| 54 | return $return |
---|
| 55 | }) |
---|
| 56 | |
---|
| 57 | $('#permitAction input[type="submit"]').click(function() { |
---|
| 58 | if (!confirm("{/literal}{'Are you sure?'|translate|escape:javascript}{literal}")) { |
---|
| 59 | $('#product_list input[type=checkbox]').each(function(){ |
---|
| 60 | $(this).prop('checked', false); |
---|
| 61 | delet_button() |
---|
| 62 | }); |
---|
| 63 | } else { |
---|
| 64 | $('#formTab_prod').submit(); |
---|
| 65 | } |
---|
| 66 | return false; |
---|
| 67 | } ); |
---|
| 68 | |
---|
| 69 | $oTable = $('#product_list').dataTable({ |
---|
| 70 | "bAutoWidth": false, |
---|
| 71 | "bStateSave": true, |
---|
| 72 | "aoColumns" : [ |
---|
| 73 | { sWidth: '2%','sClass': 'center', 'bSortable': false}, |
---|
| 74 | { sWidth: '38%','sClass': 'product_row' }, |
---|
| 75 | { sWidth: '38%'}, |
---|
| 76 | { sWidth: '12%', 'bSortable': false, }, |
---|
| 77 | { sWidth: '8%', }, |
---|
| 78 | ], |
---|
| 79 | "oLanguage": { |
---|
| 80 | "sProcessing": "{/literal}{'Loading...'|translate|escape:'javascript'}{literal}", |
---|
| 81 | "sSearch": '<span class="icon-search"></span>'+"{/literal}{'Search'|translate|escape:'javascript'}{literal}", |
---|
| 82 | "sLengthMenu": "{/literal}{'Display _MENU_ records per page'|translate|escape:'javascript'}{literal}", |
---|
| 83 | "sInfo": "{/literal}{'Showing _START_ to _END_ of _TOTAL_ records'|translate|escape:'javascript'}{literal}", |
---|
| 84 | "sInfoEmpty": "{/literal}{'Showing 0 to 0 of 0 records'|translate|escape:'javascript'}{literal}", |
---|
| 85 | "sInfoFiltered": "{/literal}{'(filtered from _MAX_ total records)'|translate|escape:'javascript'}{literal}", |
---|
| 86 | "sInfoPostFix": "", |
---|
| 87 | "sLoadingRecords": "{/literal}{'Loading...'|translate|escape:'javascript'}{literal}", |
---|
| 88 | "sZeroRecords": "{/literal}{'No matching option found'|translate|escape:'javascript'}{literal}", |
---|
| 89 | "oPaginate": { |
---|
| 90 | "sFirst": "{/literal}{'First'|translate|escape:'javascript'}{literal}", |
---|
| 91 | "sPrevious": '← '+"{/literal}{'Previous'|translate|escape:'javascript'}{literal}", |
---|
| 92 | "sNext": "{/literal}{'Next'|translate|escape:'javascript'}{literal}"+' →', |
---|
| 93 | "sLast": "{/literal}{'Last'|translate|escape:'javascript'}{literal}", |
---|
| 94 | }, |
---|
| 95 | }, |
---|
| 96 | }); |
---|
| 97 | |
---|
| 98 | function _rempform($this){ |
---|
| 99 | var $nRow = $this.parents('tr')[0], |
---|
| 100 | $jqInputs = $('input', $nRow), |
---|
| 101 | $id = $jqInputs[0].value, |
---|
| 102 | $prod = $('#prodvar').data('product'), |
---|
| 103 | $product = $prod[$id].product, |
---|
| 104 | $Nadmin = $prod[$id].noteAdmin, |
---|
| 105 | $price = $prod[$id].price, |
---|
| 106 | $option = $prod[$id].option; |
---|
| 107 | for(key in $option) { |
---|
| 108 | $('.chzn-select option').each(function(){ |
---|
| 109 | if($(this).text()==$option[key]){ |
---|
| 110 | $(this).attr('selected','selected'); |
---|
| 111 | } |
---|
| 112 | }); |
---|
| 113 | } |
---|
| 114 | $('.chzn-select').trigger("chosen:updated"); |
---|
| 115 | |
---|
| 116 | $('input#product_id').attr('value',$id); |
---|
| 117 | $('input#product').attr('value',$product); |
---|
| 118 | $('textarea#noteAdmin').val($Nadmin); |
---|
| 119 | $('input#price').attr('value',$price); |
---|
| 120 | } |
---|
| 121 | |
---|
| 122 | $(document).on('click','#formTab_prod .prodEdit', function () { |
---|
| 123 | var $this = $(this); |
---|
| 124 | $('.Tedit').show(); |
---|
| 125 | _rempform($this); |
---|
| 126 | $('#Add_product').fadeIn(); |
---|
| 127 | |
---|
| 128 | return false; |
---|
| 129 | }); |
---|
| 130 | |
---|
| 131 | $(document).on('click','#formTab_prod .prodDupli', function () { |
---|
| 132 | var $this = $(this); |
---|
| 133 | $('.Tdupli').show(); |
---|
| 134 | _rempform($this); |
---|
| 135 | $('input#product_id').attr('value',''); |
---|
| 136 | $('#Add_product').fadeIn(); |
---|
| 137 | |
---|
| 138 | return false |
---|
| 139 | }); |
---|
| 140 | |
---|
| 141 | $(document).on('click', '#selectAll', function () { |
---|
| 142 | $('#product_list input[type=checkbox]').prop('checked', true); |
---|
| 143 | delet_button() |
---|
| 144 | return false; |
---|
| 145 | }); |
---|
| 146 | |
---|
| 147 | $(document).on('click', '#selectNone', function () { |
---|
| 148 | $('#product_list input[type=checkbox]').prop('checked', false); |
---|
| 149 | delet_button() |
---|
| 150 | return false; |
---|
| 151 | }); |
---|
| 152 | |
---|
| 153 | $(document).on('click', '#selectInvert', function () { |
---|
| 154 | $('#product_list input[type=checkbox]').each(function(){ |
---|
| 155 | if($(this).is (':checked')){ |
---|
| 156 | $(this).prop('checked', false); |
---|
| 157 | }else{ |
---|
| 158 | $(this).prop('checked', true); |
---|
| 159 | } |
---|
| 160 | delet_button() |
---|
| 161 | }); |
---|
| 162 | return false; |
---|
| 163 | }); |
---|
| 164 | |
---|
| 165 | $(document).on('change','#product_list input[type=checkbox]', function () { |
---|
| 166 | delet_button() |
---|
| 167 | }); |
---|
| 168 | |
---|
| 169 | function delet_button(){ |
---|
| 170 | if($('#product_list input[type=checkbox]:checked').length > 0){ |
---|
| 171 | $('#forbidAction').css('display','none'); |
---|
| 172 | $('#permitAction').css('display','block'); |
---|
| 173 | }else{ |
---|
| 174 | $('#forbidAction').css('display','block'); |
---|
| 175 | $('#permitAction').css('display','none'); |
---|
| 176 | } |
---|
| 177 | }; |
---|
| 178 | |
---|
| 179 | $("#listOrder").sortable({ |
---|
| 180 | placeholder: 'highlight', |
---|
| 181 | update: function() { |
---|
| 182 | var $order = $("#listOrder").sortable("toArray"); |
---|
| 183 | $('#newOrder').val($order.join(",")); |
---|
| 184 | } |
---|
| 185 | }); |
---|
| 186 | |
---|
| 187 | $("#listOrder").disableSelection(); |
---|
| 188 | |
---|
| 189 | $('#ChangeOrder').click(function() { |
---|
| 190 | $("#change_Order").fadeIn( |
---|
| 191 | ); |
---|
| 192 | return false; |
---|
| 193 | }); |
---|
| 194 | |
---|
| 195 | $('#close_changeOrder').click(function() { |
---|
| 196 | $("#change_Order").fadeOut(); |
---|
| 197 | |
---|
| 198 | return false; |
---|
| 199 | }); |
---|
| 200 | |
---|
| 201 | $('.chzn-select').chosen({width:"400px"}) |
---|
| 202 | |
---|
| 203 | $('.addopt').click(function(){ |
---|
| 204 | $('#add_option_prod').show(); |
---|
| 205 | $('#sub_add_product').hide(); |
---|
| 206 | }); |
---|
| 207 | |
---|
| 208 | $(document).on('change','#optType',function(){ |
---|
| 209 | var $valSel = $('.addopt_table select#optType option:selected').attr('value'); |
---|
| 210 | if($valSel=="text" || $valSel=="textarea"){ |
---|
| 211 | $('.valeur').fadeOut('fast'); |
---|
| 212 | } else { |
---|
| 213 | $('.valeur').fadeIn('fast') |
---|
| 214 | } |
---|
| 215 | }); |
---|
| 216 | |
---|
| 217 | $('.addVal').click(function() { |
---|
| 218 | $('.valeur').append($('<div/>').addClass('val').append($val)); |
---|
| 219 | ;return false; |
---|
| 220 | }) |
---|
| 221 | |
---|
| 222 | $(document).on('click','.delVal',function(){ |
---|
| 223 | if (confirm("{/literal}{'Are you sure?'|translate|escape:javascript}{literal}")) { |
---|
| 224 | var $Nval = $('.addopt_table .valeur input').length; |
---|
| 225 | if($Nval>1){ |
---|
| 226 | $(this).parents('div.val').remove(); |
---|
| 227 | }else{ |
---|
| 228 | var $val = $(this).parents('div.val'); |
---|
| 229 | $('input', $val).val('').attr('value',''); |
---|
| 230 | } |
---|
| 231 | } |
---|
| 232 | return false |
---|
| 233 | }); |
---|
| 234 | |
---|
| 235 | $(document).on('submit','#addopt_form',function(){ |
---|
| 236 | if($.trim($('input#optName',this).val()).length==0){ |
---|
| 237 | $('.erroropt').show(); |
---|
| 238 | setTimeout(function(){ |
---|
| 239 | $('.erroropt').hide() |
---|
| 240 | },3000); |
---|
| 241 | }else{ |
---|
| 242 | var $optecour = $('input#optName').val(); |
---|
| 243 | if($('.valeur').is(':hidden')){ |
---|
| 244 | $('.valeur').remove(); |
---|
| 245 | } |
---|
| 246 | $('.optadded').show(); |
---|
| 247 | setTimeout(function(){ |
---|
| 248 | $('.optadded').hide() |
---|
| 249 | },3000); |
---|
| 250 | $.ajax({ |
---|
| 251 | type:"POST", |
---|
| 252 | data: $(this).serialize(), |
---|
| 253 | success: function(html){ |
---|
| 254 | var $idlo = $(html).find('#idlastopt').text(); |
---|
| 255 | console.debug($idlo); |
---|
| 256 | $('#opt select').append($('<option />').attr({'value':$idlo,'selected':'selected'}).text($optecour)); |
---|
| 257 | $('.chzn-select').trigger("chosen:updated"); |
---|
| 258 | } |
---|
| 259 | }); |
---|
| 260 | $('#sub_add_product').show(); |
---|
| 261 | $('#add_option_prod input[type=text]').attr('value',''); |
---|
| 262 | $('.val').remove(); |
---|
| 263 | $('.valeur').append($('<div/>').addClass('val').append($val)); |
---|
| 264 | $('select#optType option').each(function(){ |
---|
| 265 | $(this).removeAttr('selected'); |
---|
| 266 | }); |
---|
| 267 | |
---|
| 268 | $('#add_option_prod').hide().html($add_opt); |
---|
| 269 | } |
---|
| 270 | return false |
---|
| 271 | }) |
---|
| 272 | |
---|
| 273 | }); |
---|
| 274 | })(jQuery); |
---|
| 275 | {/literal}{/footer_script} |
---|
| 276 | |
---|
| 277 | <div id="prodvar" class="titrePage" data-product='{$mps_product|@json_encode}'> |
---|
| 278 | <h2>{'Products'|@translate}</h2> |
---|
| 279 | </div> |
---|
| 280 | <p class="showCreateAlbum" id="showAddProd"> |
---|
| 281 | <a href="#" id="AddProd" class="icon-plus-circled">{'Add a product'|translate}</a> |
---|
| 282 | <span class="infos" style="display:none"></span> |
---|
| 283 | </p> |
---|
| 284 | |
---|
| 285 | <div id="Add_product" class="add_wrap" style="display:none"> |
---|
| 286 | <div class="add_content"> |
---|
| 287 | <span id="close_Add_product" class="close_box_add"></span> |
---|
| 288 | <div class="boxtitre"><h1> |
---|
| 289 | <span class="tit Tadd">{'Add a'|translate}</span> |
---|
| 290 | <span class="tit Tdupli">{'Duplicate the'|translate}</span> |
---|
| 291 | <span class="tit Tedit">{'Edit the'|translate}</span> |
---|
| 292 | <span>{' product'|translate}</span> |
---|
| 293 | </h1></div> |
---|
| 294 | <form id="AddProdForm" method="post" name="add_prod" action=""> |
---|
| 295 | <div style="margin: 0 0 10px 5px"> |
---|
| 296 | <div class="addprod_table"> |
---|
| 297 | <div> |
---|
| 298 | <span>{'Product'|translate}</span> |
---|
| 299 | <span><input id="product" type="text" name="product" size="100"></span> |
---|
| 300 | <span><input id="product_id" type="hidden" name="id"></span> |
---|
| 301 | </div> |
---|
| 302 | |
---|
| 303 | <div> |
---|
| 304 | <span valign="top">{'Note administrator'|translate}</span> |
---|
| 305 | <span><textarea id="noteAdmin" rows="8" cols="50" name="noteAdmin" maxlength="50"></textarea></span> |
---|
| 306 | </div> |
---|
| 307 | <div> |
---|
| 308 | <span>{'Price'|@translate}</span> |
---|
| 309 | <span><input id="price" type="text" name="price"> {$mps_conf.currency}</span> |
---|
| 310 | </div> |
---|
| 311 | <div id="opt"> |
---|
| 312 | <span>{'Options'|@translate}</span> |
---|
| 313 | <span> |
---|
| 314 | <select data-placeholder="{'select a option'|@translate}" class="chzn-select" multiple style="width:700px;" name="opt[]"> |
---|
| 315 | {html_options options=$mps_option } |
---|
| 316 | </select> |
---|
| 317 | </span> |
---|
| 318 | <p class="showCreateAlbum" id="showAddProd"> |
---|
| 319 | <a href="#" class="addopt icon-plus-circled">{'Add a option'|translate}</a><span class="infos optadded" style="display:none">{'option registered'|translate}</span> |
---|
| 320 | |
---|
| 321 | </p> |
---|
| 322 | </div> |
---|
| 323 | |
---|
| 324 | </div> |
---|
| 325 | </div> |
---|
| 326 | <span class="actionButtons"> |
---|
| 327 | |
---|
| 328 | <input type="hidden" name="product_add"> |
---|
| 329 | <input id="sub_add_product" class="submit" name="product_add" type="submit" value="{'Submit'|@translate}"> |
---|
| 330 | </span> |
---|
| 331 | <span class="errors" style="display:none">{'you must enter the product and not the price'|@translate}</span> |
---|
| 332 | </form> |
---|
| 333 | |
---|
| 334 | |
---|
| 335 | <div id="add_option_prod" style="display:none"> |
---|
| 336 | <div> |
---|
| 337 | |
---|
| 338 | <form id="addopt_form" method="post" name="add_opt" action=""> |
---|
| 339 | <div style="margin: 0 0 10px 5px" > |
---|
| 340 | <div class="addopt_table"> |
---|
| 341 | <div> |
---|
| 342 | <span>{'Name'|translate}</span> |
---|
| 343 | <span><input id="optId" type="hidden" name="id"></span> |
---|
| 344 | <span><input id="optName" type="text" name="name" size="40"></span> |
---|
| 345 | </div> |
---|
| 346 | |
---|
| 347 | <div id="typeOpt"> |
---|
| 348 | <span valign="top">{'Type of option'|translate}</span> |
---|
| 349 | <span id="select">{html_options name=type options=$mps_type_opt selected="select" id="optType"}</span> |
---|
| 350 | </div> |
---|
| 351 | |
---|
| 352 | <div> |
---|
| 353 | <span><label>{'The field is required'|@translate} |
---|
| 354 | <input id="optRequi" type="checkbox" name="requi" value="1"> |
---|
| 355 | </label><span> |
---|
| 356 | </div> |
---|
| 357 | <div> |
---|
| 358 | <span>{'Note administrator'|@translate}</span> |
---|
| 359 | <span><input id="optTitle" type="text" name="title" size="40"></span> |
---|
| 360 | </div> |
---|
| 361 | |
---|
| 362 | <div class="valeur"> |
---|
| 363 | <div> |
---|
| 364 | <span>{'Option value'|@translate}</span> |
---|
| 365 | <span><a class="icon-plus-circled addVal" href="#">{'add value'|@translate}</a></span> |
---|
| 366 | </div> |
---|
| 367 | |
---|
| 368 | <div class="val"> |
---|
| 369 | <span>{'Value'|@translate}</span> |
---|
| 370 | <span><input type="text" name="val[]" size="20"></span> |
---|
| 371 | <span><a class="icon-cancel-circled delVal" href="#">{'delete'|@translate}</a></span> |
---|
| 372 | </div> |
---|
| 373 | </div> |
---|
| 374 | |
---|
| 375 | </div> |
---|
| 376 | </div> |
---|
| 377 | |
---|
| 378 | <span class="actionButtons"> |
---|
| 379 | <input name="option_add" type="hidden" value="{'Submit'|@translate}"> |
---|
| 380 | |
---|
| 381 | <input id="option_add" class="submit" type="submit" value="{'Submit'|@translate}"> |
---|
| 382 | </span> |
---|
| 383 | <span class="errors erroropt" style="display:none">{'you must enter the name of the option'|@translate}</span> |
---|
| 384 | |
---|
| 385 | </form> |
---|
| 386 | </div> |
---|
| 387 | </div> |
---|
| 388 | |
---|
| 389 | </div> |
---|
| 390 | </div> |
---|
| 391 | |
---|
| 392 | <div id=prod_table> |
---|
| 393 | <form id="formTab_prod" method="post" name="add_prod" action=""> |
---|
| 394 | <table id="product_list"> |
---|
| 395 | <thead> |
---|
| 396 | <tr> |
---|
| 397 | <th></th> |
---|
| 398 | <th>{'Product'|@translate}</th> |
---|
| 399 | <th>{'Note administrator'|@translate}</th> |
---|
| 400 | <th>{'Options'|@translate}</th> |
---|
| 401 | <th>{'Price'|@translate}</th> |
---|
| 402 | |
---|
| 403 | </tr> |
---|
| 404 | </thead> |
---|
| 405 | <tbody> |
---|
| 406 | {foreach from=$mps_product item=product name=product} |
---|
| 407 | <tr class="{if $smarty.foreach.product.index is odd}row1{else}row2{/if}"> |
---|
| 408 | <td><input type="checkbox" name="check[]" value={$product.id}></td> |
---|
| 409 | <td><span>{$product.product}</span> <a title="{'edit'|translate|escape:'javascript'}" class="prodEdit icon-pencil tabact">{'edit'|translate}</a> <a title="{'duplicate'|translate|escape:'javascript'}" class="prodDupli icon-pencil tabact">{'duplicate'|translate}</a></td> |
---|
| 410 | <td>{$product.noteAdmin} </td> |
---|
| 411 | <td>{foreach from=$product.option item=option name=option}{$option}/{/foreach}</td> |
---|
| 412 | <td>{$product.price} {$mps_conf.currency}</td> |
---|
| 413 | </tr> |
---|
| 414 | |
---|
| 415 | |
---|
| 416 | {/foreach} |
---|
| 417 | </tbody> |
---|
| 418 | </table> |
---|
| 419 | |
---|
| 420 | |
---|
| 421 | <div style="clear:right"></div> |
---|
| 422 | |
---|
| 423 | <p class="checkActions"> |
---|
| 424 | {'Select:'|@translate} |
---|
| 425 | <a href="#" id="selectAll">{'All'|@translate}</a>, |
---|
| 426 | <a href="#" id="selectNone">{'None'|@translate}</a>, |
---|
| 427 | <a href="#" id="selectInvert">{'Invert'|@translate}</a> |
---|
| 428 | </p> |
---|
| 429 | |
---|
| 430 | </div> |
---|
| 431 | |
---|
| 432 | <div id="forbidAction">{'No product selected'|@translate}</div> |
---|
| 433 | <div id="permitAction" style="display:none"> |
---|
| 434 | <input type="submit" name="delete" value="{'Delete'|@translate}"> |
---|
| 435 | <br></br> |
---|
| 436 | </div> |
---|
| 437 | </form> |
---|
| 438 | |
---|
| 439 | <p class="showCreateAlbum" id="showChangeOrder"> |
---|
| 440 | <a href="#" id="ChangeOrder" class="icon-plus-circled">{'Change the display order of products in the form'|translate}</a> |
---|
| 441 | </p> |
---|
| 442 | |
---|
| 443 | |
---|
| 444 | <div id="change_Order" class="add_wrap" style="display:none"> |
---|
| 445 | <div class="add_content"> |
---|
| 446 | <span id="close_changeOrder" class="close_box_add"></span> |
---|
| 447 | <div class="boxtitre"><h1>{'Change the display order of products in the form'|translate}</h1> |
---|
| 448 | <p> {'drag / drop to change the order'|translate}</p></div> |
---|
| 449 | <div id="form_order"> |
---|
| 450 | <form id="changeOrder" method="post" name="add_prod" action=""> |
---|
| 451 | <fieldset> |
---|
| 452 | |
---|
| 453 | <ul id="listOrder"> |
---|
| 454 | {foreach from=$mps_product item=product name=product} |
---|
| 455 | <li id="{$product.id}">{$product.product} -> {$product.noteAdmin} -> {$product.price} {$mps_conf.currency}</li> |
---|
| 456 | {/foreach} |
---|
| 457 | <br /> |
---|
| 458 | </fieldset> |
---|
| 459 | <input id="newOrder" type="hidden" value="" name="newOrder"> |
---|
| 460 | <input id="sortable" type="submit" name="submit" value="{'Submit'|@translate}"> |
---|
| 461 | |
---|
| 462 | </form> |
---|
| 463 | </div> |
---|
| 464 | </div> |
---|
| 465 | </div> |
---|
| 466 | |
---|
| 467 | |
---|
| 468 | |
---|
| 469 | |
---|
| 470 | |
---|
| 471 | |
---|
| 472 | |
---|
| 473 | |
---|
| 474 | |
---|