Changeset 112130 in spip-zone


Ignore:
Timestamp:
Oct 23, 2018, 9:53:51 AM (11 months ago)
Author:
rastapopoulos@…
Message:

Et hop, bug réglé pour bien récupérer les campagnes déjà chargées : comme un même encart peut être inséré plusieurs fois, il FAUT bien générer un identifiant unique, qui va permettre MEME après un rechargement en ajax de garder le même identifiant et de pouvoir recharger un objet jquery avec le nouveau DOM, afin de savoir la nouvelle valeur du data-id_campagne. Du coup maintenant qu'on a les bonnes valeurs, on va pouvoir passer ce tableau à la fonction qui dit quelle campagne afficher, afin de ne pas afficher plusieurs fois les mêmes.

Location:
_plugins_/campagnes/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/campagnes/trunk/inclure/encart_async.html

    r112129 r112130  
    55        #SET{id_campagne, #ID_ENCART|campagnes_chercher_campagne{#ENV{contexte,#LISTE}, #ENV{plusieurs_affichages,non}}}
    66]
    7 <div class="encart encart_#IDENTIFIANT"
     7<div class="encart encart_#IDENTIFIANT[ (#ENV{class)]" id="#ENV{id,#REM|uniqid}"
    88        data-id_encart="#ID_ENCART"
    99        data-contexte="[(#ENV{contexte,#LISTE}|json_encode)]"
  • _plugins_/campagnes/trunk/javascript/campagnes_async.js

    r112129 r112130  
    3535                WaterfallOverJQuery(encarts, function(encart, report) {
    3636                        var id_encart = encart.data('id_encart');
     37                        var id_html = encart.attr('id');
    3738                        var id_campagne = encart.data('id_campagne');
    3839                        var contexte = encart.data('contexte');
     
    5152                                        charger: 'oui',
    5253                                        campagnes_ids: campagnes_ids,
     54                                        id: id_html,
    5355                                },
    5456                                callback: function() {
    5557                                        // On retourne chercher le <div> vu qu'il vient d'être rechargé dans le DOM
    56                                         encart = $('[data-id_encart='+id_encart+']');
     58                                        encart = $('#'+id_html);
    5759                                        // Du coup on récupère quelle pub a été chargée dedans
    5860                                        id_campagne = encart.data('id_campagne');
Note: See TracChangeset for help on using the changeset viewer.