Changeset 112129 in spip-zone


Ignore:
Timestamp:
Oct 23, 2018, 9:15:55 AM (7 months ago)
Author:
rastapopoulos@…
Message:

WORK IN PROGRESS mais pour pas perdre, un début d'implémentation d'une méthode pour aller chercher les campagnes en asynchrone dans les encarts. Il s'agit d'une inclusion inclure/encart_async calquée sur la précédente, qui a donc les mêmes paramètres. Mais qui en aura une ou deux de plus, pour gérer des media queries notamment (= n'afficher cet encart qu'en grand écran etc). Afin de coder le moins possible, l'idée est d'utiliser au maximum l'API JS de SPIP, du coup pas besoind'action en plus, en fait l'inclusion est vraiment quasiment comme l'autre mais par défaut on ne génère que le div englobant, et avec charger=oui là on charge la pub à l'intérieur. Et en JS on ajaxReload le bloc avec ce param en plus. Il faut donc qu'il soit toujours inclu avec l'option ajax. C'est presque bon, mais il reste à bien récupérer en JS quelles pubs viennent déjà d'être chargées afin de ne pas réafficher plusieurs fois les mêmes, et là y a encore un bug.

Location:
_plugins_/campagnes/trunk
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/campagnes/trunk/campagnes_pipelines.php

    r68321 r112129  
    1616}
    1717
    18 
    19 ?>
     18/**
     19 * Ajout du script JS nécessaire à l'async si besoin
     20 **/
     21function campagnes_affichage_final($flux) {
     22        if (
     23                $GLOBALS['html'] // si c'est bien du HTML
     24                and ($p = strpos($flux, 'data-id_encart')) !== false // et qu'on a au moins une saisie
     25                and ($position = strpos($flux, '</body')) !== false // et qu'on a la balise </body> quelque part
     26        ) {
     27                $js = '<script type="text/javascript" src="'. find_in_path('javascript/campagnes_async.js') .'"></script>';
     28                // On insère le JS à la fin du <body>
     29                $flux = substr_replace($flux, $js, $position, 0);
     30        }
     31       
     32        return $flux;
     33}
  • _plugins_/campagnes/trunk/paquet.xml

    r110690 r112129  
    2626       
    2727        <pipeline nom="autoriser" inclure="campagnes_autorisations.php" />
    28 
    2928        <pipeline nom="declarer_tables_objets_sql" inclure="base/campagnes.php" />
    3029        <pipeline nom="declarer_tables_interfaces" inclure="base/campagnes.php" />
    3130        <pipeline nom="declarer_tables_auxiliaires" inclure="base/campagnes.php" />
    3231        <pipeline nom="taches_generales_cron" inclure="campagnes_pipelines.php" />
     32        <pipeline nom="affichage_final" inclure="campagnes_pipelines.php" />
    3333
    3434        <menu nom="encarts" titre="encart:titre_encarts_menu" parent="menu_squelette" icone="images/encart-16.png" action="encarts" />
Note: See TracChangeset for help on using the changeset viewer.