Impedir ajax en los enlaces de views dentro de la cabecera

by Omar Lopesino //

Solución rápida si no podemos acceder a los enlaces de la primera fila en views con cabecera fija y ajax activado.

Cuando tenemos una vista de tipo flipped table (o derivante de ella) en views que utilice ajax, y configuramos el sticky header (cabecera fija en la pantalla), si hemos puesto un enlace en la primera fila, no podremos acceder a el.

El problema que ocurre es que si activas ajax, views añade un evento a ciertos links para su propio funcionamiento, y sin querer selecciona el enlace al estar dentro de una etiqueta th. Si usas una vista de tabla normal no pasaría porque la cabecera no esta dentro de una etiqueta th, sino en una etiqueta td.

Existe una solución rápida, que es seleccionar el link que no quieres que se 'ajaxifique', y eliminar su evento de click. Hay que seleccionarlo de dos lugares, ya que el script tableheader duplica las columns de sticky header para que sean fijas.

Ejemplo:

if ($('.view-content .sticky-header').length > 0) {
  $('.view-content .sticky-header thead th > a').unbind('click');
  $('.view-content .sticky-enabled thead th > a').unbind('click');
}
#Drupal 7 #Views
Compartir

También te puede interesar