Jump to content

Error de sintaxis linea 55 attachment_ajax.tpl


Recommended Posts

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:
* 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

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

 

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

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

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

 

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

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

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

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 by wuaku (see edit history)
Link to comment
Share on other sites

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

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

  • 4 months later...

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

post-1051311-0-78394200-1447166895_thumb.jpg

 

post-1051311-0-82735600-1447166904_thumb.jpg

Link to comment
Share on other sites

  • 3 weeks later...

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

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...