Changeset 92025 in spip-zone


Ignore:
Timestamp:
Sep 25, 2015, 9:21:30 AM (6 years ago)
Author:
fil@…
Message:

la balise #PROPERTIES devient plus intelligente :
#PROPERTIES* reste serialisee sous forme JSON
#PROPERTIES est desormais deserialisee (attention ca peut casser des squelettes, utiliser l'etoile si vousvoulez appliquer json_decode)
#PROPERTIES{authors} affiche les auteurs
#PROPERTIES{xxx, sinon} affiche la variable xxx, ou a defaut la valeur sinon

Location:
_plugins_/indexer/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/indexer/trunk/content/sphinx.html

    r88652 r92025  
    7676        {pagination 10}
    7777>
    78 
    79         [(#SET{properties,#PROPERTIES|json_decode{1}})]
    8078        <li class='item'>
    8179                <article class='entry article hentry'>
    8280                        <strong class='h3-like entry-title'>[(#SCORE|mult{100}|div{#GET{max}}|intval)%] <a href="#URI">#TITLE</a></strong>
    8381                        <p class="publication">
    84                                 [<time pubdate="pubdate" datetime="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</time>][<span class="authors"><span class="sep">, </span> <:par_auteur:> (#GET{properties}|table_valeur{authors}|implode{', '})</span>]
     82                                [<time pubdate="pubdate" datetime="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</time>][<span class="authors"><span class="sep">, </span> <:par_auteur:> (#PROPERTIES{authors}|implode{', '})</span>]
    8583                        </p>
    8684                        [<div class="introduction entry-content">(#SNIPPET|sinon{#SUMMARY})</div>]
  • _plugins_/indexer/trunk/indexer_fonctions.php

    r91373 r92025  
    213213        return $sq->get();
    214214}
     215
     216
     217/**
     218 * Compile la balise `#PROPERTIES`
     219 *
     220 * Utile dans une boucle SPHINX pour retourner une valeur.
     221 *
     222 * @balise
     223 * @see table_valeur()
     224 * @example
     225 *     ```
     226 *     #PROPERTIES renvoie le champ properties au format array
     227 *     #PROPERTIES{x} renvoie #PROPERTIES|table_valeur{x},
     228 *     ```
     229 *
     230 * @param Champ $p
     231 *     Pile au niveau de la balise
     232 * @return Champ
     233 *     Pile complétée par le code à générer
     234**/
     235function balise_PROPERTIES_dist($p) {
     236        // cle du tableau desiree
     237        $_nom = interprete_argument_balise(1,$p);
     238        // valeur par defaut
     239        $_sinon = interprete_argument_balise(2,$p);
     240
     241        $b = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle;
     242        $p->code = index_pile($p->id_boucle, 'properties', $p->boucles, $b);
     243       
     244        // deserialiser le champ
     245        $_prop = 'json_decode('. $p->code . ',true)';
     246       
     247        if ($p->etoile === '') {
     248                $p->code = $_prop;
     249        }
     250        if ($_nom !== NULL){
     251                $p->code = 'table_valeur('. $_prop .', '.$_nom.')';
     252        }
     253        if ($_sinon !== NULL){
     254                $p->code = 'table_valeur('. $_prop .', '.$_nom.', '.$_sinon.')';
     255        }
     256
     257        $p->interdire_scripts = true;
     258        return $p;
     259}
     260
  • _plugins_/indexer/trunk/liste/sphinx_documents.html

    r82628 r92025  
    1010        <ul class='liste-items'>
    1111<BOUCLE_documents(DATA){source tableau, #DOCS}{pagination 20}>
    12             [(#SET{properties,#PROPERTIES|json_decode{1}})]
    1312            <li class='item'>
    1413                <article class='entry article hentry'>
    1514                    <strong class='h3-like entry-title'>#SCORE/#ENV{max} = [(#SCORE|mult{100}|div{#ENV{max}}|intval)%] <a href="#URI">#TITLE</a></strong>
    1615                    <p class="publication">
    17                         [<time pubdate="pubdate" datetime="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</time>][<span class="authors"><span class="sep">, </span> <:par_auteur:> (#GET{properties}|table_valeur{authors}|implode{', '})</span>]
     16                        [<time pubdate="pubdate" datetime="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</time>][<span class="authors"><span class="sep">, </span> <:par_auteur:> (#PROPERTIES{authors}|implode{', '})</span>]
    1817                    </p>
    1918                    [<div class="introduction entry-content">(#SNIPPET|sinon{#SUMMARY})</div>]
  • _plugins_/indexer/trunk/paquet.xml

    r91690 r92025  
    22        prefix="indexer"
    33        categorie="navigation"
    4         version="2.0.9"
     4        version="2.0.10"
    55        etat="test"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.