Jump to content

No se aplica el cambio de idioma en el formulario de registro


vicentet

Recommended Posts

Hola.

En PS 1.6 cuando se accede al inicio de sesión, éste se muestra en el idioma seleccionado, pero al hacer clic en el botón "crear cuenta" el siguiente formulario que aparece para registrarse se muestra en el idioma principal.

/pt/inicio-sesion -> se muestra en portugués y veo en el debug lang_iso -> 'pt'

/pt/inicio-sesion#account-creation -> se muestra en español y veo en el debug lang_iso -> 'es'

Las traduciones están todas correctas.

Parece ser que la llamada al formulario de registro se realiza mediante ajax, y por lo que sea no se aplica el idioma en uso.

 

Sabe alguien cómo resolver esto?

 

 

 

Link to comment
Share on other sites

Si es como dices, en Ajax puedes enviar parámetros. Debería haber uno de ellos que envíe el idioma.

Si no es así, probablemente tu theme ni está bien construido. Quizá puedas hablar con el desarrollador, aunque siendo 1.6 no sé si te darán soporte.

Si sabes mostrar en Chrome la consola, puedes ver la llamada Ajax con los valores que pasa, revisa ahí.

Saludos.

Link to comment
Share on other sites

Este el el ajax que usa el tema para realizar la petición:

 

	$.ajax({
		type: 'POST',
		url: baseUri + '?rand=' + new Date().getTime(),
		async: true,
		cache: false,
		dataType : "json",
		headers: { "cache-control": "no-cache" },
		data:
		{
			controller: 'authentication',
			SubmitCreate: 1,
			ajax: true,
			email_create: $('#email_create').val(),
			back: $('input[name=back]').val(),
			token: token
		},
		success: function(jsonData)
		{
			$('#SubmitCreate', callerElement).removeClass('active');
			if (jsonData.hasError)
			{
				var errors = '';
				for(error in jsonData.errors)
					//IE6 bug fix
					if(error != 'indexOf')
						errors += '<li>' + jsonData.errors[error] + '</li>';
				$('#create_account_error').html('<ol>' + errors + '</ol>').show();
			}
			else
			{
				// adding a div to display a transition
				$('#center_column').html('<div id="noSlide">' + $('#center_column').html() + '</div>');
				$('#noSlide').fadeOut('slow', function()
				{
					$('#noSlide').html(jsonData.page);
					$(this).fadeIn('slow', function()
					{
						if (typeof bindUniform !=='undefined')
							bindUniform();
						if (typeof bindStateInputAndUpdate !=='undefined')
							bindStateInputAndUpdate();
						document.location = '#account-creation';
					});
				});
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown)
		{
			$('#SubmitCreate', callerElement).removeClass('active');
			error = "TECHNICAL ERROR: unable to load form.\n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus;
			if (!!$.prototype.fancybox)
			{
				$.fancybox.open([
				{
					type: 'inline',
					autoScale: true,
					minHeight: 30,
					content: "<p class='fancybox-error'>" + error + '</p>'
				}],
				{
					padding: 0
				});
			}
			else
				alert(error);
		}
	});

 

Cómo puedes ver no se pasa ningún valor de idioma. Sólo se envía:

		data:
		{
			controller: 'authentication',
			SubmitCreate: 1,
			ajax: true,
			email_create: $('#email_create').val(),
			back: $('input[name=back]').val(),
			token: token
		}

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...