source: spip-zone/_plugins_/albums/trunk/formulaires/ajouter_album.html @ 99734

Last change on this file since 99734 was 99734, checked in by tcharlss@…, 5 years ago

v3.3.26 : Adapter le markup des formulaires selon la version de SPIP : <div class="editer-groupe"><div class="editer"> pour SPIP 3.1+, <ul><li class="editer"> pour SPIP 3

File size: 6.3 KB
Line 
1[(#REM)
2
3        Formulaire pour ajouter un ou plusieurs albums à un objet.
4        On peut soit créer et remplir un nouvel album, soit choisir un ou plusieurs albums existants.
5        Dans le premier cas, il s'agit en gros d'un fusion des formulaires « editer_album » et « joindre_document ».
6
7        Utilise :
8                formulaires/inc-upload_document.html
9
10]
11#SET{ul,#SPIP_VERSION|floatval|>={3.1}|?{div,ul}}
12#SET{li,#SPIP_VERSION|floatval|>={3.1}|?{div,li}}
13#SET{id_unique,#ENV{objet_associer}|concat{#ENV{id_objet_associer}|intval}}
14#SET{edition,#EVAL{_request('exec')}|match{_edit$}|?{1}}
15<div class='formulaire_spip formulaire_#FORM'>
16        <h3 class='titrem'>[(#CHEMIN_IMAGE{album-24.png}|balise_img{'',cadre-icone})]<:album:icone_ajouter_album:></h3>
17        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
18        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
19
20        [(#ENV{editable})
21        <form method='post' action='#ENV{action}' name="formulaire_ajouter_album" id="formulaire_ajouter_album_#GET{id_unique}"><div>
22                #ACTION_FORMULAIRE{#ENV{action}}
23
24                [(#REM)
25                        Onglet « Création d'un nouvel album »
26                ]
27                <div id="creer-album-#GET{id_unique}">
28
29                        <h4 class="menu">
30                                <span class="creer"><:album:onglet_ajouter_creer:></span> | <span class="choisir"><a href="#"><:album:onglet_ajouter_choisir:></a></span>
31                        </h4>
32
33                        <p class="explication"><strong><:album:label_onglet_ajouter_creer:></strong></p>
34                        <p class="explication"><:album:explication_onglet_ajouter_creer:></p>
35
36                        <[(#GET{ul})] class="editer-groupe">
37                                #SET{name,titre} #SET{obli,''} #SET{defaut,#ENV{titre_defaut,''}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
38                                <[(#GET{li})] class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
39                                        <label for="#GET{name}"><:album:label_titre:></label>[
40                                        <span class='erreur_message'>(#GET{erreurs})</span>
41                                        ]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" placeholder="<:album:info_nouvel_album|attribut_html:>" />
42                                </[(#GET{li})]>
43                                #SET{name,descriptif} #SET{obli,''} #SET{defaut,#ENV{titre_defaut,''}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
44                                <[(#GET{li})] class="editer editer_[(#GET{name})_album][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
45                                        <label for="text_area"><:album:label_descriptif:></label>[
46                                        <span class='erreur_message'>(#GET{erreurs})</span>
47                                        ]<textarea name="#GET{name}" id="#GET{name}"[ lang="(#LANGUE)"] rows="[(#GET{edition}|?{2,4})]" cols="40">[(#ENV*{#GET{name}})]</textarea>
48                                </[(#GET{li})]>
49                        </[(#GET{ul})]>
50
51                        [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
52                        <!--extra-->
53
54                        [(#REM) documents ]
55                        <div class="documents">
56                                <strong>[(#CHEMIN_IMAGE{document-12.png}|balise_img) ]<:medias:info_documents:></strong>
57                                [(#INCLURE{fond=formulaires/inc-upload_document,
58                                        env,
59                                        objet=album,
60                                        id_objet=#ENV{_id_temporaire},
61                                        mediatheque=oui,
62                                        mode=document}
63                                        |replace{value="<:bouton_upload:>"|value="<:medias:bouton_attacher_document:>"|value="<:bouton_choisir:>",value="<:bouton_enregistrer:>"}
64                                )]
65                        </div>
66
67                </div><!-- #creer-album -->
68
69                [(#REM)
70                        Onglet « Choix d'un album existant »
71                ]
72                <div id="choisir-album-#GET{id_unique}" style="display:none;">
73
74                        <h4 class="menu">
75                                <span class="creer"><a href="#"><:album:onglet_ajouter_creer:></a></span> | <span class="choisir"><:album:onglet_ajouter_choisir:></span>
76                        </h4>
77
78                        <p class="explication"><strong><:album:label_onglet_ajouter_choisir:></strong></p>
79                        <p class="explication"><:album:explication_onglet_ajouter_choisir:></p>
80
81                        <[(#GET{ul})] class="editer-groupe">
82                                #SET{name,ids_albums_associer} #SET{obli,''} #SET{defaut,''} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
83                                <[(#GET{li})] class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
84                                        <label for="#GET{name}"><:album:label_album_numero:></label>[
85                                        <span class='erreur_message'>(#GET{erreurs})</span>
86                                        ]<input type="text" name="#GET{name}" class="text identifiants" value="#ENV*{#GET{name},#GET{defaut}}" id="ids_albums_associer_#GET{id_unique}" />
87                                        <input class="submit file" type="button" name="parcourir_albums" value="<:medias:bouton_parcourir:>"
88                                                onclick="jQuery.modalboxload('#URL_ECRIRE{popin-choisir_album,var_zajax=contenu&selectfunc=albumselect#GET{id_unique}}&objet=#ENV{objet_associer}&id_objet=#ENV{id_objet_associer}',{autoResize: true});"
89                                                />
90                                </[(#GET{li})]>
91                        </[(#GET{ul})]>
92
93                        <p class='boutons'[ style="direction: (#LANG_DIR|=={ltr}|?{rtl,ltr})"]>
94                                <input class="submit" type="submit" name="choisir_album" value="<:bouton_enregistrer:>" />
95                        </p>
96
97                </div><!-- #choisir-album -->
98
99        </div></form>
100        ]
101</div>
102[(#REM) Scripts :
103 - la gestion des onglets et intitulé du bouton de validation
104 - poster automatiquement le formulaire aux choix d'un album dans la modalbox
105]
106<script type='text/javascript'>/*<![CDATA[*/
107jQuery(document).ready(function($) {
108        // fn : gestion onglets + intitulés bouton validation
109        function ajouter_album() {
110                var creer = $("#creer-album-[(#GET{id_unique})]");
111                var choisir = $("#choisir-album-[(#GET{id_unique})]");
112                var menu_creer = $("#formulaire_ajouter_album_[(#GET{id_unique}) ].menu .creer");
113                var menu_choisir = $("#formulaire_ajouter_album_[(#GET{id_unique}) ].menu .choisir");
114                var bouton = $("#formulaire_ajouter_album_[(#GET{id_unique}) ]input[name='choisir_album']");
115                menu_creer.click(function() {
116                        if (creer.is(':hidden')) {
117                                creer.slideDown(function(){$(this).find("input#titre").focus()});
118                                choisir.slideUp();
119                                bouton.attr("value","<:bouton_enregistrer:>");
120                                return false;
121                        }
122                });
123                menu_choisir.click(function() {
124                        if (choisir.is(':hidden')) {
125                                creer.slideUp()
126                                choisir.slideDown(function(){$(this).find("input#ids_albums_associer_#GET{id_unique}").focus()});
127                                bouton.attr("value","<:bouton_valider:>");
128                                return false;
129                        }
130                });
131        }
132        // init
133        ajouter_album();
134        // relance en cas de rechargement ajax
135        if (window.jQuery) jQuery(function(){
136                onAjaxLoad(ajouter_album);
137        });
138});
139// fn : validation du formulaire au choix d'un album dans la modalbox
140function albumselect#GET{id_unique}(id){
141        $.modalboxclose();
142        $("#ids_albums_associer_#GET{id_unique}").attr('value',id).focus();
143        $('#formulaire_ajouter_album_[(#GET{id_unique}) ]input\[name=choisir_album\]').get(0).click();
144}
145/*]]>*/</script>
Note: See TracBrowser for help on using the repository browser.