Ayuda con el JS de mi tema de Wordpress + Woocommerce

  • Autor Autor vortex
  • Fecha de inicio Fecha de inicio
V

vortex

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos,

Tengo un problema que me trae de cabeza. Estoy montando una Tienda Online sobre el template Gleam de Elegant Themes. Este template tiene unas funciones en JQuery que cuando haces clic para acceder a una página cualquiera se cambia la URL a algo como ésto: www.midominio.com/#!/pagina/.

Esta plantilla carga todas las secciones en ventanas emergentes a través del parámetro #! por eso este comportamiento en las URL, algo que no puede modificarse a través de los enlaces permanentes ni a través del plugin SEO by Yoast si no directamente a través del fichero custom.js del tema creo.

Todo funciona perfecto de esta manera hasta que intento meter productos variables en Woocommerce donde se fastidia el añadir carrito. Con los simples funciona perfecto. He probado a eliminar de la URL que aparece en la barra de direcciones el #! y voilá funciona correctamente.

No se si si puede arreglarse eso de alguna manera modificando Woocommerce o si puede quitarse el #! de todo el tema ya que sin ellas también funciona.

Pongo un fragmento custom.js donde creo que está la solución para que veáis el código por si desde aquí pudiera solucionarse el problema.

if ( window.location.href.search('#!/') == -1 && window.location.href !== et_site_url && window.location.href !== ( et_site_url + '#' ) ) {
access_without_ajax = true;
$et_main_content.css( { opacity : 1, top : '77px', width : '800px', height : ( et_window_height - 200 ), marginTop : 0, marginLeft : '-400px' } );
$logo_area.hide();
$main_menu.hide();
$et_footer_menu.css({'display':'block','opacity':1, bottom: '0'})
$('#content').appendTo( $et_page_content );
$et_main_content.jScrollPane( { animateScroll: true } );
et_center_content_area();
et_init_scripts();
} else if ( window.location.href === et_site_url || window.location.href === ( et_site_url + '#' ) ) {
$et_main_content.css( { 'margin-left' : '-' + ( content_width / 2 ) + 'px', top: ( ( et_window_height - $et_main_content.height() ) / 2 - 100 ) } ).animate( { opacity : 1, 'top' : ( ( et_window_height - $et_main_content.height() ) / 2 ) }, fade_in_speed, 'easeInOutQuad' );
} else {
$et_main_content.css( { 'margin-left' : '-' + ( content_width / 2 ) + 'px' } ).animate( { opacity : 1, 'top' : '77px' }, fade_in_speed, 'easeInOutQuad' );
}

et_resize_background_images();

// center the bottom menu
$('#footer_menu #secondary_menu').width( $( '#footer_menu #menu-new' ).innerWidth() );
});

Saludos!!
 
Mmm el código está muy sucio.
Pero debería haber otro bloque JS, donde bloquea el comportamiento por defecto de los enlaces.
Y por lo general es en el evento click, estaría algo como este:
e.preventDefault();

o Al final de la función return false;

Tendrías que borrar eso 🙂
 
Muchas gracias por tu contestación te doy acceso a la web directamente para que veas a lo que me refiero. Si quieres te mando el tema comprimido para que lo eches un vistazo si hace falta me pasas presupuesto si sabes como solucionarlo.

Se que este tema no es compatible con Woocommerce precisamente por esto pero mi gustaría que esta Tienda funcionase sobre esta plantilla.

www_fotovideocabito_es

www_fotovideocabito_es/#!/tienda-online/albumes-de-boda/mod-105-rojo

Sustituir los guiones bajos en la url.
 
Última edición:
Atrás
Arriba