LINUX:MediaWiki - SMW - Amélioration: Livres
But
On améliore ensuite cet embryon de gestion de livres présente à l'article sur le Prototype: Livres.
Livres
Modèle
Voici le script amélioré:
<includeonly>
{| class="wikitable"
! Type de document
| {{#arraymap:{{{Typedocument|}}}|,|xx1|[[Typedocument::xx1]]}}
|-
! Catégorie de document
| {{#arraymap:{{{Categoriedocument|}}}|,|xx2|[[Categoriedocument::xx2]]}}
|-
! Titre
| [[Titre::{{{Titre|}}}]]
|-
! Auteur
| {{#arraymap:{{{Auteur|}}}|,|xx3|[[Auteur::xx3]]}}
|-
! Editeur
| [[Editeur::{{{Editeur|}}}]]
|-
! Collection
| {{#if:{{{Collectionlivre|}}}| {{#formredlink:target=BIBLIO:{{{Collectionlivre}}}| form=Collection| existing page link text={{{Collectionlivre}}}| link text={{{Collectionlivre}}} }} {{#set:Collectionlivre=BIBLIO:{{{Collectionlivre}}} }}| Vide}}
|-
! Numéro
| [[Numero::{{{Numero|}}}]]
|-
! ISBN
| [[ISBN::{{{ISBN|}}}]]
|-
! Image de garde
| {{#ifexist:File:BIBLIO:{{{Imagegarde}}}.jpg| [[Imagegarde::File:BIBLIO:{{{Imagegarde|}}}.jpg|200px]]|
A charger==>{{fullurl:special:upload|wpDestFile=BIBLIO:{{urlencode:{{{Imagegarde}}}|WIKI}}.jpg&wpUploadDescription={{urlencode:[[Category:BIBLIO:Page-de-garde]]|WIKI}} }} }}
|-
! Sujet
| [[Sujet::{{{Sujet|}}}]]
|}
[[Catégorie:BIBLIO:Biblio]]
</includeonly>
! Collection | {{#if:{{{Collectionlivre|}}}| {{#formredlink:target=BIBLIO:{{{Collectionlivre}}}| form=Collection| existing page link text={{{Collectionlivre}}}| link text={{{Collectionlivre}}} }} {{#set:Collectionlivre=BIBLIO:{{{Collectionlivre}}} }}| Vide }}
! Image de garde | {{#ifexist:File:BIBLIO:{{{Imagegarde}}}.jpg| [[Imagegarde::File:BIBLIO:{{{Imagegarde|}}}.jpg|200px]]| A charger==> {{fullurl:special:upload| wpDestFile=BIBLIO:{{urlencode:{{{Imagegarde}}}|WIKI}}.jpg&wpUploadDescription={{urlencode:[[Category:BIBLIO:Page-de-garde]]|WIKI}} }} }}
Formulaire
<includeonly> <div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div> {{{for template|Biblio|label=Fiche du livre}}} {| class="formtable" ! Type de document: | {{{field|Typedocument|input type=checkboxes}}} |- ! Catégorie de document: | {{{field|Categoriedocument|input type=checkboxes}}} |- ! Titre: | {{{field|Titre|mandatory|input type=text}}} |- ! Auteur: | {{{field|Auteur|input type=tokens}}} |- ! Editeur: | {{{field|Editeur|input type=text}}} |- ! Collection: | {{{field|Collectionlivre|input type=text}}} |- ! Numéro: | {{{field|Numero|input type=text}}} |- ! ISBN: | {{{field|ISBN|input type=text}}} |- ! Image de garde: | {{{field|Imagegarde|input type=text}}} |- ! Sujet: | {{{field|Sujet|input type=text}}} |} {{{end template}}} '''Remarques:''' {{{standard input|free text|rows=10}}} </includeonly>
Catégorie
On ajoute un titre pour séparer l'appel existant à la création d'une nouvelle page de la liste des pages.
On remplace cet appel à la création d'une nouvelle page "{{#default_form:Biblio}}", par la fonction "#forminput" qui nous permet de présélectionner l'espace de nom "BIBLIO".
Voici le code:
__NOEDITSECTION__ =Création d'un nouveau livre= {{#forminput:form=Biblio|size=65|namespace selector=BIBLIO}}
Et voici l'aspect:
Collection
Modèle
<includeonly> * '''Pages de garde''' {{#ask: [[category:BIBLIO:Biblio]] [[Collectionlivre::{{FULLPAGENAME}}]] | ?Imagegarde | ?Titre |imageproperty=Imagegarde |captionproperty=Titre |format=gallery |sort=Numero |redirects=- }} * '''Liste des livres''' {{#ask:[[category:BIBLIO:Biblio]] [[Collectionlivre::{{FULLPAGENAME}}]] |?Typedocument=Type de document |?Categoriedocument=Catégorie de document |?Titre=Titre |?Auteur=Auteur |?Editeur=Editeur |?Numero=Numéro |?ISBN=ISBN |mainlabel=Page |sort=Numero |format=table}} [[Catégorie:BIBLIO:Collection]] </includeonly>
Formulaire
<includeonly> '''Descriptif:''' {{{standard input|free text|rows=20}}} {{{for template|Collection}}} </includeonly>
Catégorie
On ajoute un titre pour séparer l'appel existant à la création d'une nouvelle page de la liste des pages.
On remplace cet appel à la création d'une nouvelle page "{{#default_form:Collection}}", par la fonction "#forminput" qui nous permet de présélectionner l'espace de nom "BIBLIO".
Voici le code:
__NOEDITSECTION__ =Création d'une nouvelle collection= {{#forminput:form=Collection|size=65|namespace selector=BIBLIO}}
Et voici l'aspect: