Changeset 108626 in spip-zone


Ignore:
Timestamp:
Jan 25, 2018, 11:19:58 AM (18 months ago)
Author:
tcharlss@…
Message:

Hum, c'est plus compliqué que ça de trouver le type de page courante d'après le contexte. Des fois on a la clé page, des fois non. On bricole comme on peut. Ajout d'une variante pour les évènements (avec dc.type=event)

Location:
_plugins_/metaplus/trunk
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/metaplus/trunk/metasplus_fonctions.php

    r108620 r108626  
    2626function metasplus_generer_head() {
    2727
    28         // Récupérer le contexte pour connaître la page et l'objet
     28        // Retrouver la page et l'objet courant d'après le contexte
     29        // Snif, on n'a pas la certitude d'avoir toujours la clé 'page', ça dépend du type d'url configuré :(
    2930        $contexte = $GLOBALS['contexte'];
    30         $page = (isset($contexte['type-page']) ? $contexte['type-page'] : (isset($contexte['page']) ? $contexte['page'] : 'sommaire'));
    31         // Si c'est un objet éditorial, il y a id_patate dans le contexte
    32         include_spip('base/objets');
    33         $id_table_objet = id_table_objet($page);
    34         if (isset($contexte[$id_table_objet])) {
    35                 $objet    = $page;
    36                 $id_objet = intval($contexte[$id_table_objet]);
     31        // On a direct la page : super
     32        if (!empty($contexte['page'])) {
     33                $page = $contexte['page'];
     34        // sinon type-page (z-core) : re-super
     35        } elseif (!empty($contexte['type-page'])) {
     36                $page = $contexte['type-page'];
     37        // sinon un id_patate : on bricole comme on peut
     38        } elseif ($match = preg_grep('/^id_(\w+)/', array_keys($contexte))) {
     39                include_spip('base/objets');
     40                $page = $objet = objet_type(end($match)); // S'il y a plusieurs id_patate, on suppose que le dernier est celui de l'objet de la page... mouais
     41                $id_objet = $contexte[end($match)];
     42                $contexte['objet'] = $objet;
     43                $contexte['id_objet'] = $id_objet;
     44        } else {
     45                $page = '';
    3746        }
    3847
     
    5968                } elseif (find_in_path($fond_defaut.'.html')) {
    6069                        $fond = $fond_defaut;
    61                         $contexte['objet'] = $objet;
    62                         $contexte['id_objet'] = $id_objet;
    6370                }
    6471
Note: See TracChangeset for help on using the changeset viewer.