Changeset 117694 in spip-zone


Ignore:
Timestamp:
Aug 31, 2019, 10:52:09 AM (7 weeks ago)
Author:
teddy.spip@…
Message:
  • Utilisation des fonctions de SPIP pour retrouver les infos sur l'objet ;
  • Mise en place d'une fonction pour retrouver la chaine de langue d'un objet. Cela évite d'avoir un code pas très lisible dans les squelettes ;
  • Dans la fonction doc_tech_chaine_langue(), on charge le fichier de langue pour avoir la traduction où que l'on soit dans les squelettes. J'ai rencontré le problème avec le plugin Pays où la langue n'était pas chargée avec i18n_pays_fr?.
  • Up de y.

TODO : créer une fonction qui permettrait de récupérer les chaines de langue utilisées dans les formulaires/editer_xxxx.html de l'objet éditorial. Ça serait peut-être un peu complexe pour formulaires/editer_document.html et formulaires/editer_auteur.html

Location:
_plugins_/doc_tech/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/doc_tech/trunk/doc_tech_fonctions.php

    r104397 r117694  
    1414}
    1515
     16/**
     17 * Lister tous les objets ayant une chaine de langue de type lang/objet_lang.php
     18 * Exemple : `lang/projet_fr.php`
     19 * `lang/forum_fr.php`
     20 *
     21 * @return array
     22 */
    1623function doc_tech_lister_objet() {
    1724        include_spip('base/objets');
     
    3542        return $liste_objet;
    3643}
     44
     45
     46function doc_tech_chaine_langue($objet, $champ, $sufix) {
     47        $langue_site = $GLOBALS['meta']['langue_site'];
     48        $traduction = '';
     49        include_spip('inc/traduire');
     50        charger_langue($langue_site, $objet);
     51        /*
     52        echo "<pre>" . print_r($objet, true) . "\n"
     53                . print_r($champ, true) . "\n"
     54                . print_r($sufix, true) . "\n"
     55                . "</pre>";
     56        */
     57        /**
     58         * Dans certains cas, une chaine de langue est bien trouvée par cette fonction. cf. page ?exec=doc_tech
     59         * Et dans d'autres cas, cf. ?exec=doc_tech_lang, la chaine de langue 'correcte' n'est pas trouvée. Exemple: objet pays (avec le plugin Pays)
     60         */
     61        if (isset($GLOBALS['i18n_' . $objet . '_' . $langue_site])) {
     62                if (isset($GLOBALS['i18n_' . $objet . '_' . $langue_site]['champ_' . $champ . '_' . $sufix])) {
     63                        $traduction = $GLOBALS['i18n_' . $objet . '_' . $langue_site]['champ_' . $champ . '_' . $sufix];
     64                } else if (isset($GLOBALS['i18n_' . $objet . '_' . $langue_site][$champ . '_' . $sufix])) {
     65                                $traduction = $GLOBALS['i18n_' . $objet . '_' . $langue_site][$champ . '_' . $sufix] ;
     66                } else if (isset($GLOBALS['i18n_' . $objet . '_' . $langue_site][$sufix . '_' . $champ])) {
     67                                        $traduction = $GLOBALS['i18n_' . $objet . '_' . $langue_site][$sufix . '_' . $champ];
     68                }
     69        }
     70
     71        return $traduction;
     72}
  • _plugins_/doc_tech/trunk/modeles/doc_tech.html

    r113786 r117694  
    55        <table>
    66                <BOUCLE_info_table (DATA) {source table, #GET{tables_infos}} {cle='field'}>
    7                         <caption id="[(#_tables:GET{spip_table}|attribut_html)]">#_tables:GET{spip_table}</caption>
     7                        <caption id="[(#_tables:GET{spip_table}|attribut_html)]">[(#_tables:GET{spip_table}|objet_type|objet_info{texte_objets}|_T)] [((#_tables:GET{spip_table}))]</caption>
    88                <thead>
    99                        <th><:doc_tech:nom_du_champ:></th>
     
    1818                                        <td><strong>#CLE</strong></td>
    1919                                        <td><em>#VALEUR</em></td>
    20                                         <td>[(#VAL{#_tables:VALEUR}|concat{':champ_',#CLE,'_label'}|_T)]</td>
     20                                        <td>[(#_tables:VALEUR|doc_tech_chaine_langue{#CLE,label}|sinon{-})]</td>
    2121                                        <td>[<strong><:doc_tech:aide_a_la_saisie:></strong><br/>
    22 (#VAL{#_tables:VALEUR}|concat{':champ_',#CLE,'_explication'}|_T)<br/>]
     22(#_tables:VALEUR|doc_tech_chaine_langue{#CLE,explication}|sinon{-})<br/>]
    2323[<strong><:doc_tech:documentation:></strong><br/>
    24 (#VAL{#_tables:VALEUR}|concat{':champ_',#CLE,'_documentation'}|_T)]</td>
     24(#_tables:VALEUR|doc_tech_chaine_langue{#CLE,documentation}|sinon{-})]</td>
    2525                                </tr>
    2626                                </BOUCLE_label>
  • _plugins_/doc_tech/trunk/modeles/doc_tech_lang.html

    r113786 r117694  
    99<textarea rows="20" cols="40" class="doc_tech_lang">
    1010<BOUCLE_info_table(DATA) {source table, #GET{tables_infos}} {cle='field'}>// ----------
    11 // [Objet : (#_tables:GET{spip_table})]
    12 // <:doc_tech:chaines_a_placer_dans:> [(#_tables:VALEUR|concat{'s'})]/lang/[(#_tables:VALEUR|concat{'_',#LANG,'.php'})]
     11// [Objet : (#_tables:GET{spip_table}|objet_type)]
     12// [Table sql : (#_tables:GET{spip_table})]
     13// <:doc_tech:chaines_a_placer_dans:> [(#_tables:VALEUR|table_objet)]/lang/[(#_tables:VALEUR|concat{'_',#LANG,'.php'})]
    1314// La chaine de langue 'explication' peut être utile sur les # SAISIES des pages d'édition de l'objet.
    1415// ----------
    1516<BOUCLE_prefixe_lang(DATA) {source table, #GET{prefixe_lang}} {par valeur}><B_champs><BOUCLE_champs(DATA) {source table, #_info_table:VALEUR} {par cle}>
    16 ['(#VAL{'champ_'}|concat{#_champs:CLE,'_',#_prefixe_lang:VALEUR})'] => ['(#VAL{#_tables:VALEUR}|concat{':champ_',#_champs:CLE,'_',#_prefixe_lang:VALEUR}|_T|texte_script)'], </BOUCLE_champs></B_champs>
     17['(#VAL{'champ_'}|concat{#_champs:CLE,'_',#_prefixe_lang:VALEUR})'] => '[(#_tables:VALEUR|doc_tech_chaine_langue{#_champs:CLE,#_prefixe_lang:VALEUR}|texte_script)]', </BOUCLE_champs></B_champs>
    1718</BOUCLE_prefixe_lang>
    1819</BOUCLE_info_table>
  • _plugins_/doc_tech/trunk/modeles/doc_tech_lang_perso.html

    r113786 r117694  
    88<textarea rows="20" cols="40" class="doc_tech_lang_perso">
    99<BOUCLE_info_table(DATA) {source table, #GET{tables_infos}} {cle='field'}>// ----------
    10 // [Objet : (#_tables:GET{spip_table})]
    11 // <:doc_tech:chaines_a_placer_dans:> [(#_tables:VALEUR|concat{'s'})]/lang/[(#_tables:VALEUR|concat{'_',#LANG,'.php'})]
     10// [Objet : (#_tables:GET{spip_table}|objet_type)]
     11// [Table sql : (#_tables:GET{spip_table})]
     12// <:doc_tech:chaines_a_placer_dans:> [(#_tables:VALEUR|table_objet)]/lang/[(#_tables:VALEUR|concat{'_',#LANG,'.php'})]
    1213// La chaine de langue 'explication' peut être utile sur les # SAISIES des pages d'édition de l'objet.
    1314// ----------
     
    1516// --- Champ : #GET{spip_table}.#CLE
    1617<BOUCLE_prefixe_lang(DATA) {source table, #GET{prefixe_lang}} {par valeur}>
    17 ['(#VAL{'champ_'}|concat{#_champs:CLE,'_',#VALEUR})'] => ['(#VAL{#_tables:VALEUR}|concat{':champ_',#_champs:CLE,'_',#VALEUR}|_T|texte_script)'], </BOUCLE_prefixe_lang>
     18['(#VAL{'champ_'}|concat{#_champs:CLE,'_',#VALEUR})'] => '[(#_tables:VALEUR|doc_tech_chaine_langue{#_champs:CLE,#VALEUR}|texte_script)]', </BOUCLE_prefixe_lang>
    1819
    1920</BOUCLE_champs></B_champs></BOUCLE_info_table>
  • _plugins_/doc_tech/trunk/modeles/doc_tech_lang_regroupe.html

    r113786 r117694  
    1010<textarea rows="20" cols="40" class="doc_tech_lang_regroupe">
    1111<BOUCLE_info_table(DATA) {source table, #GET{tables_infos}} {cle='field'}>// ----------
    12 // [Objet : (#_tables:GET{spip_table})]
     12// [Objet : (#_tables:GET{spip_table}|objet_type)]
     13// [Table sql : (#_tables:GET{spip_table})]
    1314// <:doc_tech:chaines_a_placer_dans:> [(#_tables:VALEUR|table_objet)]/lang/[(#_tables:VALEUR|concat{'_',#LANG,'.php'})]
    1415// La chaine de langue 'explication' peut être utile sur les # SAISIES des pages d'édition de l'objet.
     
    1718<B_champs><BOUCLE_champs(DATA) {source table, #VALEUR} {par cle}>
    1819// --- Champ : #GET{spip_table}.#CLE<BOUCLE_prefixe_lang(DATA) {source table, #GET{prefixe_lang}} {par valeur}>
    19 ['(#VAL{'champ_'}|concat{#_champs:CLE,'_',#VALEUR})'] => ['(#VAL{#_tables:VALEUR}|concat{':champ_',#_champs:CLE,'_',#VALEUR}|_T|texte_script)'], </BOUCLE_prefixe_lang>
     20['(#VAL{'champ_'}|concat{#_champs:CLE,'_',#VALEUR})'] => '[(#_tables:VALEUR|doc_tech_chaine_langue{#_champs:CLE,#VALEUR}|texte_script)]', </BOUCLE_prefixe_lang>
    2021</BOUCLE_champs></B_champs></BOUCLE_info_table>
    2122// ----------
  • _plugins_/doc_tech/trunk/paquet.xml

    r113786 r117694  
    22        prefix="doc_tech"
    33        categorie="outil"
    4         version="0.7.1"
    5         etat="dev"
     4        version="0.8.0"
     5        etat="test"
    66        compatibilite="[3.0.9;3.2.*]"
    77        logo="prive/themes/spip/images/doc_tech-32.png"
  • _plugins_/doc_tech/trunk/prive/squelettes/contenu/doc_tech.html

    r82776 r117694  
    1717                        <select name="objets" id="champ_objets">
    1818                                <BOUCLE_objets (DATA) {source table, #REM|doc_tech_lister_objet}>
    19                                         <option value="#VALEUR"[(#ENV{objets}|=={#VALEUR}|oui) selected="selected"]>#VALEUR</option>
     19                                        <option value="#VALEUR"[(#ENV{objets}|=={#VALEUR}|oui) selected="selected"]>[(#VALEUR|objet_info{texte_objets}|_T)]</option>
    2020                                </BOUCLE_objets>
    2121                        </select>
  • _plugins_/doc_tech/trunk/prive/squelettes/contenu/doc_tech_lang.html

    r90915 r117694  
    1717                        <select name="objets" id="champ_objets">
    1818                                <BOUCLE_objets (DATA) {source table, #REM|doc_tech_lister_objet}>
    19                                         <option value="#VALEUR"[(#ENV{objets}|=={#VALEUR}|oui) selected="selected"]>#VALEUR</option>
     19                                        <option value="#VALEUR"[(#ENV{objets}|=={#VALEUR}|oui) selected="selected"]>[(#VALEUR|objet_info{texte_objets}|_T)]</option>
    2020                                </BOUCLE_objets>
    2121                        </select>
     
    4242<div class="nettoyeur"> </div>
    4343[(#ENV{regroupe}|=={'oui'}|oui)
    44         [(#MODELE{doc_tech_lang_regroupe,tables=#GET{tables},label_perso=#ENV{label_perso},env})]
     44        [(#MODELE{doc_tech_lang_regroupe,tables=#GET{tables},label_perso=#ENV{label_perso}})]
    4545]
    4646[(#ENV{regroupe}|=={'oui'}|non)
    47         [(#MODELE{doc_tech_lang,tables=#GET{tables},label_perso=#ENV{label_perso},env})]
     47        [(#MODELE{doc_tech_lang,tables=#GET{tables},label_perso=#ENV{label_perso}})]
    4848]
    4949</div>
Note: See TracChangeset for help on using the changeset viewer.