Changeset 118351 in spip-zone


Ignore:
Timestamp:
Oct 30, 2019, 10:10:03 PM (10 months ago)
Author:
root
Message:

Spéciale dédicace b_b : prise en compte des compositions, donc on peut faire des squelettes inclure/metasplus/patate-composition.html

Location:
_plugins_/metasplus/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/metasplus/trunk

    • Property subgit:lock:fdcfccdb7f649dfc432aea0abf6b8e948ea6a8f2 set to 2019-10-30T23:09:52.097
  • _plugins_/metasplus/trunk/metasplus_fonctions.php

    r110213 r118351  
    2626 *     [type-page] le type de la page
    2727 *     [objet]     le type de l'objet le cas échéant
    28  *     [id_objet]  son identifiant
     28 *     [id_objet]  numéro de l'objet
    2929 *     [id_patate] idem, mais avec le nom de sa clé primaire
    3030 *     [erreur]    'true' si page en erreur
     
    3939
    4040        // 1) Si la page est identifiée et pas en erreur, on regarde s'il s'agit d'un objet
    41         if ($res['type-page']
     41        if (
     42                $res['type-page']
    4243                and !$res['erreur']
    4344        ) {
     
    6364 * Sélectionner le squelette des métadonnées pour un type de page
    6465 *
    65  * Règle :
    66  * On va chercher dans le dossier inclure/metasplus le squelette
    67  * de la variante spécifique au type de page s'il existe,
    68  * sinon le squelette générique dist.html qui génère automatiquement les métas.
     66 * On cherche dans l'ordre :
     67 *
     68 * - 1) inclure/metaplus/<type-page>-<composition>.html
     69 * - 2) inclure/metaplus/<type-page>.html
     70 * - 3) inclure/metaplus/dist.html
    6971 *
    7072 * @param array $contexte
     
    7375 *     Le fond
    7476 */
    75 function metasplus_selectionner_fond($type_page) {
     77function metasplus_selectionner_fond($contexte) {
    7678
    77         $fond_defaut   = 'inclure/metasplus/dist';
    78         $fond_variante = 'inclure/metasplus/' . $type_page;
    79         if (find_in_path($fond_variante.'.html')) {
    80                 $fond = $fond_variante;
     79        include_spip('inc/utils');
     80
     81        $fond             = '';
     82        $type_page        = !empty($contexte['type-page']) ? $contexte['type-page'] : '';
     83        $objet            = !empty($contexte['objet']) ? $contexte['objet'] : '';
     84        $id_objet         = !empty($contexte['id_objet']) ? $contexte['id_objet'] : '';
     85        $racine           = 'inclure/metasplus/';
     86        $fond_defaut      = $racine . 'dist';
     87        $fond_page        = $racine . $type_page;
     88
     89        if (
     90                test_plugin_actif('compositions')
     91                and $objet
     92                and $id_objet
     93                and $composition = compositions_determiner($objet, $id_objet)
     94        ) {
     95                $fond_composition = $fond_page . '-' . $composition;
     96        }
     97
     98        if ($composition and find_in_path($fond_composition.'.html')) {
     99                $fond = $fond_composition;
     100        } elseif (find_in_path($fond_page.'.html')) {
     101                $fond = $fond_page;
    81102        } elseif (find_in_path($fond_defaut.'.html')) {
    82103                $fond = $fond_defaut;
  • _plugins_/metasplus/trunk/metasplus_pipelines.php

    r118013 r118351  
    6565                // Trouver le squelette à utiliser
    6666                include_spip('metasplus_fonctions');
    67                 $fond = metasplus_selectionner_fond($contexte['type-page']);
     67                $fond = metasplus_selectionner_fond($contexte);
    6868
    6969                // Si le squelette n'est pas vide, on ajoute son contenu à la fin du head
    70                 if ($fond
     70                if (
     71                        $fond
    7172                        and $metas = recuperer_fond($fond, $contexte)
    7273                ) {
     
    8283/**
    8384 * pipeline post_edition pour supprimer la meta metasplus/id_doc_logo
    84  * quand on supprime l'image dans le formualire de configuration
     85 * quand on supprime l'image dans le formulaire de configuration
    8586 *
    8687 * @param $flux
    8788 * @return $flux
    8889 * @author tofulm
    89  **/
    90 function metasplus_post_edition($flux){
     90 */
     91function metasplus_post_edition($flux) {
    9192        if (
    9293                isset($flux['args']['table'])
     
    114115 * @return $flux
    115116 * @author tofulm
    116  **/
    117 function metasplus_boite_infos($flux){
     117 */
     118function metasplus_boite_infos($flux) {
    118119
    119         if ($objet = $flux['args']['type']
     120        if (
     121                $objet = $flux['args']['type']
    120122                and $id_objet = $flux['args']['id']
    121123                and autoriser('previsualiser_metasplus', $objet, $id_objet)
  • _plugins_/metasplus/trunk/paquet.xml

    r118276 r118351  
    22        prefix="metasplus"
    33        categorie="divers"
    4         version="2.2.6"
     4        version="2.3.0"
    55        schema="1.0.0"
    66        etat="stable"
     
    1010>
    1111
    12         <nom>Metas +</nom>
     12        <nom>Métas +</nom>
    1313        <!-- Métadonnées pour booster vos articles -->
    1414
  • _plugins_/metasplus/trunk/prive/squelettes/contenu/metasplus_previsu.html

    r111944 r118351  
    1212
    1313]
    14 #SET{id_table_objet,#ENV{objet}|id_table_objet}
    15 #SET{fond, #ENV{page}|metasplus_selectionner_fond}
    16 #SET{texte_objet,#ENV{objet}|objet_info{texte_objet}|_T}
    17 #SET{redirect,#ENV{id_objet}|generer_url_entite{#ENV{objet}}}
     14#SET{cle_objet,   #ENV{objet}|id_table_objet}
     15#SET{contexte,    #ARRAY{type-page,#ENV{page},objet,#ENV{objet},id_objet,#ENV{id_objet}}}
     16#SET{fond,        #GET{contexte}|metasplus_selectionner_fond}
     17#SET{texte_objet, #ENV{objet}|objet_info{texte_objet}|_T}
     18#SET{redirect,    #ENV{id_objet}|generer_url_entite{#ENV{objet}}}
    1819
    1920<h1 class="grostitre"><:metasplus:titre_previsu:></h1>
    2021
    21 <p class="notice">Dans cette prévisualisation, les URLs pointent vers le privé, mais rassurez-vous, dans les pages publiques elles sont correctes.</p>
     22<p class="notice">Dans cette prévisualisation, les URLs pointent vers le privé, mais rassurez-vous, elles sont correctes dans les pages publiques.</p>
    2223
    2324#BOITE_OUVRIR{'',info}
     
    3334#BOITE_FERMER
    3435
    35 #BOITE_OUVRIR
     36#BOITE_OUVRIR{'',simple metasplus}
    3637[(#PLUGIN{coloration_code}|non)<pre><code>]
    3738[(#GET{fond}|recuperer_fond{
     
    4041                objet,#ENV{objet},
    4142                id_objet,#ENV{id_objet},
    42                 #GET{id_table_objet},#ENV{id_objet},
     43                #GET{cle_objet},#ENV{id_objet},
    4344        }}
    4445        |appliquer_filtre{
     
    5354<style>
    5455        code.html {display:block;overflow-x:auto}
     56        .box.simple.metasplus{overflow-x:auto}
    5557</style>
Note: See TracChangeset for help on using the changeset viewer.