Browse Source

Choix du modele pour les pages possedant des contenus specifiques

svn/root/trunk
dominique.lepaisant@ac-caen.fr 3 years ago
parent
commit
1ace5ee428
  1. 4
      body.html
  2. 32
      formulaires/layer_page.html
  3. 8
      formulaires/layer_page.php
  4. 5
      lang/sdn_fr.php
  5. 2
      paquet.xml
  6. 12
      prive/squelettes/inclure/selection_layer_page.html
  7. 7
      prive/squelettes/inclure/selection_layer_page_interface.html
  8. 4
      sdn_pipelines.php

4
body.html

@ -5,8 +5,10 @@
Distribue sous licence GPL3
]#SET{compo, #ENV{type-page}}
#SET{id_objet, #ENV{id_article}|?{#ENV{id_article},#ENV{id_rubrique}|?{#ENV{id_rubrique},#ENV{id_mot}}}}
#SET{pages_exclues, #ARRAY{0,recherche}}[
(#ENV{composition}|oui) #SET{compo, #ENV{type-page}|concat{-#ENV{composition}}}
(#GET{id_objet}|oui) #SET{compo, #ENV{type-page}|concat{#GET{id_objet}}
][(#ENV{composition}|oui) #SET{compo, #ENV{type-page}|concat{-#ENV{composition}}}
][(#CONFIG{sdn/#GET{compo}/layer}|non)#SET{compo,defaut}
]#SET{layer, #CONFIG{sdn/#GET{compo,defaut}/layer, content-aside_-extra-a}}
[(#ENV{type-page}|in_array{#GET{pages_exclues}}|oui)#SET{layer, content-aside_-extra-a}]

32
formulaires/layer_page.html

@ -24,19 +24,12 @@
<img src="#CHEMIN{prive/themes/spip/images/layers-sdn/layer-#VALEUR.png}" title="[(#VAL{sdn:layer_#CLE}|_T)]" alt="[(#VAL{sdn:layer_#CLE}|_T)]" style="width:120px;margin-left:20px" /></label>
<p class="explication" style="clear:both;">
<input type="radio" name="layer" id="#CLE" value="#CLE" [ (#GET{layer}|=={#CLE}|oui)checked="checked" disabled="disabled"]/>
<label for="#CLE">[Modèle N°(#VALEUR)]</label></p>
<label for="#CLE"><:sdn:modele_num{num=#VALEUR}:></label></p>
</div>
</li>
</BOUCLE_ls2>
</ul>
</div>
[(#SAISIE{checkbox, largeur_content}
{label=<:sdc:background_fixer:>}
{datas=#ARRAY{
large, Oui}
}
{conteneur_class=long_label afficher_si_layer_#GET{id_unique}}
)]
<p class="boutons">
<input type="submit" name="enregistrer" class="submit save" value="<:bouton_enregistrer:>" />
@ -44,26 +37,3 @@
</p>
</div></form>
</div>
<script type="text/javascript">// <![CDATA[
$(document).ready(function(){
$('.divimg > p input').on('change', function () {
if ( $(this).attr('value') == 'content-aside_extra'
|| $(this).attr('value') == 'aside-content_extra'
|| $(this).attr('value') == 'content-aside_-extra'
|| $(this).attr('value') == 'aside_-extra-content' ) {
$(".afficher_si_layer_#GET{id_unique}").show()
}else {
$(".afficher_si_layer_#GET{id_unique}").hide();
}
});
if ( '#ENV{layer}' == 'content-aside_extra'
|| '#ENV{layer}' == 'aside-content_extra'
|| '#ENV{layer}' == 'content-aside_-extra'
|| '#ENV{layer}' == 'aside_-extra-content' ) {
$(".afficher_si_layer_#GET{id_unique}").show();
} else {
$(".afficher_si_layer_#GET{id_unique}").hide();
}
});
//]]></script>

8
formulaires/layer_page.php

@ -19,7 +19,6 @@ function formulaires_layer_page_charger_dist( $bloc ) {
'modeles' => is_file(find_in_path('yaml/liste-modeles.yaml')) ? yaml_decode_file(find_in_path('yaml/liste-modeles.yaml'))
: array("content-aside_extra"=>"3","content_aside_extra"=>"1"),
'layer' => !is_null(lire_config('sdn/'.$bloc.'/layer') )? lire_config('sdn/'.$bloc.'/layer') : 'content-aside_-extra',
'largeur_content' => '',
);
return $valeurs;
}
@ -39,18 +38,17 @@ function formulaires_layer_page_traiter_dist( $bloc ) {
if (!_request('_cfg_delete')){
if ( _request('layer')!='' ){
ecrire_config('sdn/'.$bloc.'/layer', _request('layer'));
ecrire_config('sdn/'.$bloc.'/largeur_content', _request('largeur_content'));
if(is_null(lire_config('sdn/'.$bloc.'/layer'))) {
$errs = 'La configuration des colonnes n\'a pas été enregistrée.';
$errs = _T('sdn:conf_colonnes_erreur');
}
else {
$oks = 'La configuration des colonnes a été enregistrée';
$oks = _T('sdn:conf_colonnes_ok');
}
}
}
else
{
$oks = 'La configuration des colonnes a été suprimée';
$oks = _T('sdn:conf_colonnes_supprimee');
effacer_config('sdn/'.$bloc.'/layer');
return array('message_ok'=>$oks);
}

5
lang/sdn_fr.php

@ -17,6 +17,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_titre_contact_site' => 'Contact du site',
'cfg_titre_parametrages' => 'Paramétrages',
'choisir_modele' => 'Choisir un modèle de présentation',
'conf_colonnes_erreur' => 'La configuration des colonnes n\'a pas été enregistrée.',
'conf_colonnes_ok' => 'La configuration des colonnes a été enregistrée',
'conf_colonnes_supprimee' => 'La configuration des colonnes a été réinitialisée',
// D
'description_page_article' => 'Page par défaut pour les articles.',
@ -59,7 +62,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// M
'modele_defaut' => 'Modèle par défaut',
'modele_num' => 'Modèle N°@num@',
'modele_page' => 'Modèle de la page @page@',
'modele_page' => 'Modèle de la page',
// N
'nom_page_article'=>'Page article',

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="sdn"
categorie="maintenance"
version="0.1.20"
version="0.1.21"
etat="dev"
compatibilite="[3.2.3;3.2.*]"
logo="prive/themes/spip/images/sdn-64.png"

12
prive/squelettes/inclure/selection_layer_page.html

@ -16,22 +16,22 @@
<div class='nettoyeur'></div>
<a href='[(#SELF|parametre_url{ajouter,non})]' class='ajax bouton_fermer'>[(#CHEMIN_IMAGE{fermer-16.png}|balise_img)]</a>
<div class="ajax">
#FORMULAIRE_LAYER_PAGE{#ENV{page}, ""}
#FORMULAIRE_LAYER_PAGE{#ENV{page_layer}, ""}
</div>
<div class='nettoyeur'></div>
]
[(#ENV{ajouter}|=={oui}|non)
[(#SELF|parametre_url{ajouter,oui}|parametre_url{page,#ENV{page}}|icone{<:sdn:bouton_modifier_layer:>, layer-32, #LANG_RIGHT, edit, ajax})]
[(#SELF|parametre_url{ajouter,oui}|parametre_url{page_layer,#ENV{page_layer}}|icone{<:sdn:bouton_modifier_layer:>, layer-32, #LANG_RIGHT, edit, ajax})]
<div class="info">
#SET{layer, #CONFIG{sdn/#ENV{page}/layer, #CONFIG{sdn/defaut/layer, content-aside_-extra-a}}}
#SET{layer, #CONFIG{sdn/#ENV{page_layer}/layer, #CONFIG{sdn/defaut/layer, content-aside_-extra-a}}}
#SET{modele, #GET{modeles}|table_valeur{#GET{layer}}}
[(#ENV{page}|=={defaut}|?{
[(#ENV{page_layer}|=={defaut}|?{
<p> Le modèle par défaut est le modèle
,
<p> La page <strong>#ENV{page}</strong> utilise le modèle
<p> La page <strong>#ENV{page_layer}</strong> utilise le modèle
})]
<strong>[N°(#GET{modeles}|table_valeur{#GET{layer}})]</strong>
[(#CONFIG{sdn/#ENV{page}/layer}|ou{#ENV{page}|=={defaut}}|non) - modèle par défaut ]
[(#CONFIG{sdn/#ENV{page_layer}/layer}|ou{#ENV{page_layer}|=={defaut}}|non) - modèle par défaut ]
<br/><small>([(#GET{layer})])</small></p>
<div>
<img src="#CHEMIN{prive/themes/spip/images/layers-sdn/layer-#GET{modele}.png}" title="[(#GET{layer})]" alt="[(#VAL{sdn:layer_#GET{layer}}|_T)]" style="width:120px;margin-left:20px; float:left;margin-right: 10px;" /><div><p>[(#VAL{sdn:layer_#GET{layer}}|_T)]</p></div>

7
prive/squelettes/inclure/selection_layer_page_interface.html

@ -1,8 +1,9 @@
<div class="pave_selection_layer" [ (#ENV{exec}|=={noizetier_page}|oui)style="padding-top: 35px;"]>
[(#SET{titre, #ENV{page}|=={defaut}|?{<:sdn:modele_defaut:>, Modèle de la page #ENV{page}}})]
#SET{page_layer, #ENV{id_objet}|?{#ENV{objet}|concat{#ENV{id_objet}}, #ENV{page,defaut}} }
[(#SET{titre, #GET{page_layer}|!={defaut}|ou{#ENV{id_objet}}|?{Modèle de la page #ENV{id_objet}|?{#ENV{objet} &nbsp;N°#ENV{id_objet}, #ENV{page}} , <:sdn:modele_defaut:>}})]
[(#BOITE_OUVRIR{#GET{titre},'simple fiche_objet',''})]
<div>[(#ENV|unserialize|foreach)]
<INCLURE{fond=prive/squelettes/inclure/selection_layer_page, page=#ENV{page}, env, ajax}>
<div>
<INCLURE{fond=prive/squelettes/inclure/selection_layer_page, page_layer=#GET{page_layer}, page=#ENV{page}, objet=#ENV{objet}, id_objet=#ENV{id_objet}, env, ajax}>
</div>
#BOITE_FERMER
</div>

4
sdn_pipelines.php

@ -24,7 +24,9 @@ function sdn_affiche_milieu($flux) {
if ($exec == "noizetier_page" || $exec == "noizetier_pages") {
$page = $flux["args"]["page"];
$contexte = array('page'=>$page?$page:"defaut");
$objet = $flux["args"]["objet"];
$id_objet = $flux["args"]["id_objet"];
$contexte = array('page'=>$page,'objet'=>$objet,'id_objet'=>$id_objet);
$ret .= recuperer_fond("prive/squelettes/inclure/selection_layer_page_interface", $contexte);
$flux["data"] .= $ret;
}

Loading…
Cancel
Save