wuaku Posted July 1, 2015 Share Posted July 1, 2015 Hola, como bien el tirulo dice, tengo un error de sintaxis, soy novato y no tengo ni idea, he llegado hasta este archivo porque tengo un problema con los botones de guardado de los productos, y es que siempre están en modo guardando y con lo cual no me deja guardar cambios o insertar nuevos producto y he estado mirando por algunos foros y comentaban este archivo (aquí lo vi). Abajo os dejo el código con el error (no tengo idea de solucionar este error de sintaxis) {* * 2007-2015 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2015 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} <div class="col-lg-8"> <input id="{$id|escape:'html':'UTF-8'}" type="file" name="{$name|escape:'html':'UTF-8'}"{if isset($url)} data-url="{$url|escape:'html':'UTF-8'}"{/if} class="hide" /> <button class="btn btn-default" data-style="expand-right" data-size="s" type="button" id="{$id|escape:'html':'UTF-8'}-add-button"> <i class="icon-plus-sign"></i> {l s='Add file'} </button> <!-- <div class="alert alert-success" id="{$id|escape:'html':'UTF-8'}-success" style="display:none">{l s='Upload successful'}</div> <div class="alert alert-danger" id="{$id|escape:'html':'UTF-8'}-errors" style="display:none"></div> --> </div> <script type="text/javascript"> function humanizeSize(bytes) { if (typeof bytes !== 'number') { return ''; } if (bytes >= 1000000000) { return (bytes / 1000000000).toFixed(2) + ' GB'; } if (bytes >= 1000000) { return (bytes / 1000000).toFixed(2) + ' MB'; } return (bytes / 1000).toFixed(2) + ' KB'; } $( document ).ready(function() { var {$id|escape:'html':'UTF-8'}_add_button = Ladda.create( document.querySelector('#{$id|escape:'html':'UTF-8'}-add-button' )); var {$id|escape:'html':'UTF-8'}_total_files = 0; var success_message = '{l s='Upload successful' js=1}'; $('#{$id|escape:'html':'UTF-8'}').fileupload({ dataType: 'json', autoUpload: true, singleFileUploads: true, maxFileSize: {$post_max_size}, success: function (e) { //showSuccessMessage(success_message); }, start: function (e) { {$id|escape:'html':'UTF-8'}_add_button.start(); }, fail: function (e, data) { showErrorMessage(data.errorThrown.message); }, done: function (e, data) { if (data.result) { if (typeof data.result.attachment_file !== 'undefined') { if (typeof data.result.attachment_file.error !== 'undefined' && data.result.attachment_file.error.length > 0) $.each(data.result.attachment_file.error, function(index, error) { showErrorMessage(data.result.attachment_file.name + ' : ' + error); }); else { showSuccessMessage(success_message); $('#selectAttachment2').append('<option value="'+data.result.attachment_file.id_attachment+'">'+data.result.attachment_file.filename+'</option>'); } } } }, }).on('fileuploadalways', function (e, data) { {$id|escape:'html':'UTF-8'}_add_button.stop(); }).on('fileuploadprocessalways', function (e, data) { var index = data.index, file = data.files[index]; //if (file.error) //$('#{$id|escape:'html':'UTF-8'}-errors').append('<div class="row"><strong>'+file.name+'</strong> ('+humanizeSize(file.size)+') : '+file.error+'</div>').show(); }).on('fileuploadsubmit', function (e, data) { var params = new Object(); $('input[id^=attachment_name_]').each(function() { id = $(this).prop("id").replace("attachment_name_", "attachment_name[") + "]"; params[id] = $(this).val(); }); $('textarea[id^=attachment_description_]').each(function() { id = $(this).prop("id").replace("attachment_description_", "attachment_description[") + "]"; params[id] = $(this).val(); }); data.formData = params; }); $('#{$id|escape:'html':'UTF-8'}-add-button').on('click', function() { //$('#{$id|escape:'html':'UTF-8'}-success').hide(); //$('#{$id|escape:'html':'UTF-8'}-errors').html('').hide(); {$id|escape:'html':'UTF-8'}_total_files = 0; $('#{$id|escape:'html':'UTF-8'}').trigger('click'); }); }); </script> gracias de antemano! Link to comment Share on other sites More sharing options...
joseantgv Posted July 1, 2015 Share Posted July 1, 2015 Hola, clica la tecla F12 en el navegador y revisa la pestaña "Console/Consola" para revisar el error de javascript que tienes. Link to comment Share on other sites More sharing options...
wuaku Posted July 1, 2015 Author Share Posted July 1, 2015 Hola Jose, Lo he hecho y esto es lo que me sale: jquery-1.11.0.min.js:4 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/. http://indiclothing.es/img/p/es-default-small_default.jpg Failed to load resource: the server responded with a status of 404 (Not Found) VM1129:27 Uncaught TypeError: Cannot read property 'add' of undefined Link to comment Share on other sites More sharing options...
joseantgv Posted July 2, 2015 Share Posted July 2, 2015 Hola Jose, Lo he hecho y esto es lo que me sale: jquery-1.11.0.min.js:4 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/. http://indiclothing.es/img/p/es-default-small_default.jpg Failed to load resource: the server responded with a status of 404 (Not Found) VM1129:27 Uncaught TypeError: Cannot read property 'add' of undefined La última línea es la que te está provocando el error. Clica encima del error y a ver que te aparece. Link to comment Share on other sites More sharing options...
wuaku Posted July 2, 2015 Author Share Posted July 2, 2015 La última línea es la que te está provocando el error. Clica encima del error y a ver que te aparece. Hola de nuevo Jose, lo he hecho, te adjunto captura de pantalla a ver si sabes lo que le pasa, porque me tiene loco el error este, no puedo avanzar con la tienda. Aquí te adjunto la captura. Link to comment Share on other sites More sharing options...
joseantgv Posted July 3, 2015 Share Posted July 3, 2015 Hola de nuevo Jose, lo he hecho, te adjunto captura de pantalla a ver si sabes lo que le pasa, porque me tiene loco el error este, no puedo avanzar con la tienda. Aquí te adjunto la captura. Clica sobre "VM329:27", que te llevará al código. Link to comment Share on other sites More sharing options...
wuaku Posted July 5, 2015 Author Share Posted July 5, 2015 Clica sobre "VM329:27", que te llevará al código. Hola Jose, no me salia ahora le "VM329:27" en su lugar aparecía este VM794:27 , le he dado y me sale esto: //make display names readonly of tabs $("input[id^=tabName_]").each(function(){ $(this).attr('readonly',true); }); /* Not necessary after all after class rename //Check if TinyMCE is already Active so not to activate it again to cause conflicts var is_tinyMCE_active = false; if (typeof(tinyMCE) != "undefined") { if (tinyMCE.activeEditor == null || tinyMCE.activeEditor.isHidden() != false) { is_tinyMCE_active = true; } } //alert('TinyMCE Active '+is_tinyMCE_active); */ //just use a true statement to keep the if clause in case I need it again if (true) { //alert('mpika'); //TinyMCE Editor Activation tinySetup({ editor_selector :"extraproducttab_rte", setup : function(ed) { ed.onInit.add(function(ed) { if (typeof ProductMultishop.load_tinymce[ed.id] != 'undefined') { if (typeof ProductMultishop.load_tinymce[ed.id]) ed.hide(); else ed.show(); } }); ed.onKeyUp.add(function(ed, e) { tinyMCE.triggerSave(); textarea = $('#'+ed.id); max = textarea.parent('div').find('span.counter').attr('max'); if (max != 'none') { textarea_value = textarea.val(); count = stripHTML(textarea_value).length; rest = max - count; if (rest < 0) textarea.parent('div').find('span.counter').html('<span style="color:red;">Máximo '+max+' caracteres : '+rest+'</span>'); else textarea.parent('div').find('span.counter').html(' '); } }); } }); } Link to comment Share on other sites More sharing options...
joseantgv Posted July 6, 2015 Share Posted July 6, 2015 Has tocado ese código? Aparecen cosas extrañas: //alert('TinyMCE Active '+is_tinyMCE_active); //alert('mpika'); Link to comment Share on other sites More sharing options...
wuaku Posted July 6, 2015 Author Share Posted July 6, 2015 Has tocado ese código? Aparecen cosas extrañas: //alert('TinyMCE Active '+is_tinyMCE_active); //alert('mpika'); No he tocado nada. Hay alguna forma de arreglar lo? te puedo dar acceso si quieres. Me urge por favor, estoy desesperado. Un saludo. Link to comment Share on other sites More sharing options...
joseantgv Posted July 6, 2015 Share Posted July 6, 2015 Cuál es tu versión de PS? Link to comment Share on other sites More sharing options...
wuaku Posted July 6, 2015 Author Share Posted July 6, 2015 Cuál es tu versión de PS? Versión de PrestaShop 1.6.0.14 Link to comment Share on other sites More sharing options...
joseantgv Posted July 6, 2015 Share Posted July 6, 2015 Abre el fichero \admin (nombre de tu backoffice)\themes\default\template\controllers\products\helpers\form\form.tpl. Sustituye el bloque del principio por: {block name="autoload_tinyMCE"} // Execute when tab Informations has finished loading tabs_manager.onLoad('Informations', function(){ tinySetup({ editor_selector :"autoload_rte", setup : function(ed) { ed.on('init', function(ed) { if (typeof ProductMultishop.load_tinymce[ed.target.id] != 'undefined') { if (typeof ProductMultishop.load_tinymce[ed.target.id]) tinyMCE.get(ed.target.id).hide(); else tinyMCE.get(ed.target.id).show(); } }); ed.on('keydown', function(ed, e) { tinyMCE.triggerSave(); textarea = $('#'+tinymce.activeEditor.id); var max = textarea.parent('div').find('span.counter').data('max'); if (max != 'none') { count = tinyMCE.activeEditor.getBody().textContent.length; rest = max - count; if (rest < 0) textarea.parent('div').find('span.counter').html('<span style="color:red;">{l s='Maximum'} '+ max +' {l s='characters'} : '+rest+'</span>'); else textarea.parent('div').find('span.counter').html(' '); } }); } }); }); {/block} Haz un backup por si acaso. Link to comment Share on other sites More sharing options...
wuaku Posted July 6, 2015 Author Share Posted July 6, 2015 Abre el fichero \admin (nombre de tu backoffice)\themes\default\template\controllers\products\helpers\form\form.tpl. Sustituye el bloque del principio por: {block name="autoload_tinyMCE"} // Execute when tab Informations has finished loading tabs_manager.onLoad('Informations', function(){ tinySetup({ editor_selector :"autoload_rte", setup : function(ed) { ed.on('init', function(ed) { if (typeof ProductMultishop.load_tinymce[ed.target.id] != 'undefined') { if (typeof ProductMultishop.load_tinymce[ed.target.id]) tinyMCE.get(ed.target.id).hide(); else tinyMCE.get(ed.target.id).show(); } }); ed.on('keydown', function(ed, e) { tinyMCE.triggerSave(); textarea = $('#'+tinymce.activeEditor.id); var max = textarea.parent('div').find('span.counter').data('max'); if (max != 'none') { count = tinyMCE.activeEditor.getBody().textContent.length; rest = max - count; if (rest < 0) textarea.parent('div').find('span.counter').html('<span style="color:red;">{l s='Maximum'} '+ max +' {l s='characters'} : '+rest+'</span>'); else textarea.parent('div').find('span.counter').html(' '); } }); } }); }); {/block} Haz un backup por si acaso. Hola Jose, Me he ido al archivo que me comentas y en el segundo bloque hay un error, te adjunto pantalla, quizás sea la solución, que opinas? Captura de pantalla Un saludo Link to comment Share on other sites More sharing options...
joseantgv Posted July 6, 2015 Share Posted July 6, 2015 Hola Jose, Me he ido al archivo que me comentas y en el segundo bloque hay un error, te adjunto pantalla, quizás sea la solución, que opinas? Captura de pantalla Un saludo Eso no parece que sea un error, sólo el resaltado del texto. Suele pasar cuando hay diferentes lenguajes. Link to comment Share on other sites More sharing options...
wuaku Posted July 6, 2015 Author Share Posted July 6, 2015 Eso no parece que sea un error, sólo el resaltado del texto. Suele pasar cuando hay diferentes lenguajes. Entonces cual seria la solución? Link to comment Share on other sites More sharing options...
joseantgv Posted July 6, 2015 Share Posted July 6, 2015 Has copiado el bloque que te he dicho? Link to comment Share on other sites More sharing options...
wuaku Posted July 6, 2015 Author Share Posted July 6, 2015 Has copiado el bloque que te he dicho? Si, lo he sustituido por el primer bloque, pero sigue igual. Link to comment Share on other sites More sharing options...
joseantgv Posted July 6, 2015 Share Posted July 6, 2015 Puedes volver a revisar el error que te aparece en el navegador y copiar el código? Marca la línea del error. Link to comment Share on other sites More sharing options...
wuaku Posted July 6, 2015 Author Share Posted July 6, 2015 (edited) Puedes volver a revisar el error que te aparece en el navegador y copiar el código? Marca la línea del error. Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/. Failed to load resource: the server responded with a status of 404 (Not Found) http://indiclothing.es/img/p/es-default-small_default.jpg Uncaught TypeError: Cannot read property 'add' of undefined VM665:27 tinySetup.setup @ VM665:27 B.execCallback @ VM579:2 B @ VM579:2 (anonymous function) @ VM579:2 u @ VM579:2 a @ VM579:2 t.bind @ VM579:2 w.bind @ VM579:2 v.init @ VM579:2 tinySetup @ tinymce.inc.js:43 (anonymous function) @ VM665:24 (anonymous function) @ jquery-1.11.0.min.js:2 n.extend.globalEval @ jquery-1.11.0.min.js:2 n.fn.extend.domManip @ jquery-1.11.0.min.js:3 n.fn.extend.append @ jquery-1.11.0.min.js:3 (anonymous function) @ jquery-1.11.0.min.js:3 n.access @ jquery-1.11.0.min.js:3 n.fn.extend.html @ jquery-1.11.0.min.js:3 $.ajax.success @ products.js:131 j @ jquery-1.11.0.min.js:2 k.fireWith @ jquery-1.11.0.min.js:2 x @ jquery-1.11.0.min.js:4 b @ jquery-1.11.0.min.js:4 Una pregunta y si copio la carpeta admin de otro prestashop a este que me da el error? Edited July 6, 2015 by wuaku (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted July 7, 2015 Share Posted July 7, 2015 Clica otra vez sobre el error a ver que línea está fallando! Una pregunta y si copio la carpeta admin de otro prestashop a este que me da el error? Puedes probar, pero renombra la que tienes ahora, no la borres, por si tienes que volver atrás. Link to comment Share on other sites More sharing options...
wuaku Posted July 7, 2015 Author Share Posted July 7, 2015 Clica otra vez sobre el error a ver que línea está fallando! Puedes probar, pero renombra la que tienes ahora, no la borres, por si tienes que volver atrás. Buenas Jose, He cambiado toda la carpeta admin de otro prestashop, pero sigue sin poder guardar, entiendo que de esa carpeta en cuestion no esta el problema. Link to comment Share on other sites More sharing options...
apcreaciones84 Posted November 10, 2015 Share Posted November 10, 2015 buen dia amigos tengo la version de PS 1.6.1.2 donde se supone que este problema ya viene solucionado... sin embargo tengo el mismo problema con los botones de guardar y permanecer..siguen recargandose sin estar disponibles y no me deja guardar el producto.. adjunto una imagen de la consola de errores.. muchas gracias si alguien me puede ayudar.. saludos Link to comment Share on other sites More sharing options...
il_drago Posted November 30, 2015 Share Posted November 30, 2015 Buenas, estoy investigando sobre ese error, y el problema parece que viene de una incompatibilidad con JQuery. Teoricamente lo que hay que hacer es especificar al objeto de jquery .ajax() la configuracion "async: false" o bien actualizar el JQuery. Link to comment Share on other sites More sharing options...
Recommended Posts