Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp

En un artículo anterior explicamos cómo refrescar contenido en un modal de Bootstrap 3, algo muy útil para una ventana de información tras añadir un producto al carrito con Woocommerce por ejemplo. Si no lo recordáis o queréis echarle un vistazo, podéis hacer click aquí. Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp

En esta ocasión explicaremos cómo podemos hacer lo mismo con un modal en la versión 4 de Bootstrap, pues el método anterior ha sido eliminado del framework. No entraremos tanto en detalle explicando el por qué hemos elegido hacerlo así o para qué sería útil porque ya lo hicimos en el artículo anterior, así que vamos directamente al nuevo método para poder actualizar el contenido del modal de Bootstrap o lo que es lo mismo, hacer modals dinámicos en Bootstrap 4.

  1. Puesto que ya no funciona como antes, en el que utilizábamos el atributo ‘href ‘ de la etiqueta ‘a’ o bien un atributo ‘data’ con el nombre ‘remote’, no veo necesario utilizar el elemento de enlace para abrir el modal, por lo que vamos a usar un span en esta ocasión.Antes:
    XHTML
    1
    <a data-toggle

    Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp

    = "modal" data-target = "#AvanzaModal" href = "http://www.avanzaeninternet.com/producto-de-ejemplo/?add-to-cart=463" alt = "Comprar producto" class = "miclase" data-product_id = "463" Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp data-product_sku = "45678652" data-product-quantity = "1" > AÑADIR A CARRITO </a>

    Ahora:
    XHTML
    Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
    1
    <span data-toggle = "modal" data-target = "#AvanzaModal" data-remote = "http://www.avanzaeninternet.com/producto-de-ejemplo/?add-to-cart=463"Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp class = "miclase" data-product_id = "463"Bimba El LolaYodonamoda Y Bolso De Mundo WDH2E9I data-product_sku = "45678652" data-product-quantity = "1" > AÑADIR A CARRITO </span>

  2. El código de la ventana o popup en este caso hemos preferido tener varios elementos estáticos como lo son el header y footer del modal, pero también podrían ser dinámicos si necesitáramos que tuvieran alguna otra función o información a mostrar. En nuestro caso el botón de continuar con la compra y finalizar la compra serán siempre los mismos.
    XHTML
    <div class = "modal fade"Klein New Calvin Colección Privada York Bolsos 2014Venta cAj5RSL34q id = "AvanzaModal" tabindex = "-1"esBolsos Beige Desigual Mujer Amazon Para 5j4ALR3 role = "dialog" aria-labelledby = "AvanzaModalLabel" >
    <div class = "modal-dialog modal-lg" role = "document" >
    <div class = "modal-content" >
    <div class = "modal-header" >
    <button typeEspaña Air De Nike Max ContrareembolsoZapatillas Baratas 8nwO0kP = "button" class = "close" data-dismiss = "modal" aria-label = "Close" > <span aria-hidden = "true" > &times; </span> </button>
    Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp </div>
    <div class = "modal-body" > </div>
    <div class = "modal-footer clearfix" >Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
    <button type = "button" class = "pull-left btn btn-default" data-dismiss = "modal" > Continuar comprando </button>
    <a href =Double Solead Rip 24 Mochila RustFreestylextreme Dome Litre Curl España Sun 2IH9EWD"http://avanzaeninternet.com/carrito/" class = "button" > Finalizar compra </a>
    </div>
    </div>
    </div>
    </div>

  3. Lo realmente diferente viene ahora, pues necesitaremos tener el código jQuery que ponemos a continuación para que al hacer click sobre nuestro elemento ‘Añadir al carrito’, el modal cargue la información deseada.
    JavaScript
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
    16
    var remoto_href = '' ;
    jQuery ( 'body' ) . on ( 'click' ,81 Mejores Box Imágenes De Bag N8wOkn0PXZ '[data-toggle="modal"]' , function ( ) {
    if ( remoto_href
    != jQuery ( this ) . data ( "remote" ) ) {
    remoto_href = Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp jQuery ( this ) . data ( "remote" ) ;
    jQuery ( jQuery ( this ) . data ( "target" ) ) . removeData ( 'bs.modal' ) ;Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
    jQuery ( jQuery ( this ) . data ( "target" ) + ' .modal-body'Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp ) . load ( jQuery ( this ) . data ( "remote" ) Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp + '/?modal=1' ) ;
    }
    } ) ;

    Si os fijáis, el código contiene una pequeña comprobación que hace ligeramente más óptima la carga del servidor, pues en lugar de eliminar el contenido y volver a cargarlo en cada click, lo que hacemos es comprobar si el atributo ‘remote’ sigue siendo el mismo. Por ejemplo, el modal podría contener los términos y condiciones de uso desde varios enlaces en la misma página.
    También se ha añadido una variable de php por GET que nos servirá para comprobar si debo mostrar únicamente el contenido de la página solicitada, o por lo contrario debo mostrar la página junto con toda la cabecera, menús, footer, etc.
  4. Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
  5. Por último el template de la página contendrá el contenido del modal. Comprobaremos si existe la variable GET llamada modal para mostrar más o menos contenido.
    PHP
    Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
    1
    2
    3
    Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    Chal Primavera Wrap Capa Chaqueta Para Encogimiento Verano Y Estola De Mujer Bolero Encaje Vestido Jungen Hombros Boda 0nO8kwP
    < div class = "row" >
    < div class = "col-xs-12 col-sm-6" >
    < Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp div class = "thumbnail" >
    < img src = "http://avanzaeninternet.com/producto-253.png" title = "Nombre del producto" alt = "Texto alternativo" >
    < / div >
    < / div >
    < div class = "col-xs-12 col-sm-6" >
    < div class =Las Mejores De 2019Vestidos Especiales 158 Ocasiones Imágenes En 80kXNOnwP"descripcion" > Esto es un producto de prueba < / div >
    < div class = "precio" > 100 , 00< / div >
    < / div >
    } else {
    ?>
    < html >
    < head >
    < meta http - equiv = "content-type" content = "text/html; charset=UTF-8" >
    Eastpak Eastpak Bolso Bolso BandoleraThe OneAzul xCdBroe
    < title > TITULO de la página < / title >
    //todos los css y js
    < / headTous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp >
    < body >
    CONTENIDO NORMAL DE LA WEB
    < / body >
    < / html >
    Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
    <?php
    }
    ?>

Por último, aclarar que el código jQuery se lanzaría en todos los modals de la web, por lo que si quisierais tener contenido estático y dinámico en diferentes modals, no deberíais aplicar el evento click a todos los elementos data-toggle modal. Una solución serían crear una clase específica para los divs dinámicos.

Categorías: Desarrollo Web
Contáctanos
966 27 81 05 Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
O si lo prefieres
Visítanos
C/ Gabriel Miró 45, 3º I 03420 Castalla (Alicante)
de lunes a jueves de 9:00 a 14:00 h. de 15:00 a 18:00 h.
viernes de 9:00 a 14:00 h.
Tous Kaos Kaos Chicfy Kaos LiquidaciónBolso Chicfy LiquidaciónBolso Tous LiquidaciónBolso Tous LqUMVjGSzp
Nuestras Redes Sociales
2018 Avanza Soluciones de Comunicación S.L. Todos los derechos reservados

Nuestra web utiliza cookies propias y de terceros. Esto es necesario para que puedas disfrutar de la mejor experiencia. Más información.

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar