Ajuda:Llistes automàtiques/header-row
Dins els paràmetres de la plantilla {{Wikidata list}} trobem header_template
i row_template
. Permeten indicar el nom de dues subplantilles (opcionals) on es pot escriure en codi wiki, com qualsevol altra plantilla, el tractament que voldrem que es faci per construir la capçalera i per construir les línies de la llista, respectivament.
Si bé les files de la taula són el resultat exclusiu de la selecció feta amb SPARQL, el contingut de les columnes i el seu ordre depèn, en primera instància, del paràmetre columns =, però mitjançant una row_template
es pot alterar l'ordre, editar el contingut, crear una columna amb informació combinada d'altres i deixar de mostrar-ne alguna de les definides a columns =.
header template
[modifica]Recordem que havíem vist que les llistes automàtiques es materialitzen en una taula wiki generada pel ListeriaBot dins l'article. Doncs bé, sense la header_template
la capçalera contindrà el nom de les propietats que apareixen al paràmetre columns= o bé el text que haguem escrit darrera d'aquestes propietats separat pel signe de dos punt (:
). Per defecte, la taula permet ordenar per qualsevol columna.
Si volem una edició més complexa, per exemple, amb colors, fonts o mida de lletra diferents, o bé volem evitar alguna columna, farem servir header_template
- Com fer la
header_template
?. Exactament igual que el començament d'una taula wiki amb capçalera, és a dir:
- amb el codi
{|
per iniciar la taula i definir les seves característiques; el codi!
, un per cada columna, amb el text que hi voleu posar. També és pot fer servir el codi|+
per afegir una capçalera de taula, opcionalment. Per personalitzar característiques pròpies d'una taula, podeu consultar la seva documentació. - NO s'ha de fer servir cap separador de línia
|-
, ja que ho fa el ListeriaBot.
- ⇒Podeu veure totes les
header_template
agrupades a la seva categoria.
row template
[modifica]Cada item seleccionat per formar la llista es converteix en una línia de la taula generada pel ListeriaBot.
Quan no existeix row_template
, el contingut definit a columns= esdevenen columnes de la taula, seguint la sintaxi pròpia de les taules wiki.
Quan sí que es fa servir, el listeriaBot substitueix la sintaxi de columnes de la taula, per una crida a la plantilla:<nom_plantilla row_template>
i li passa com a paràmetres el valor de cadascuna de les propietats descrites a columns =. D'aquesta forma, la sintaxi de la fila de la taula, la genera el codi que haguem escrit a la row_template
, amb total llibertat de format, orde i operacions a realitzar. Als exemples podem trobar:
- la unió de dos continguts en una columna (Ex:població (any); museu + núm.inventari, etc.);
- crides a una plantilla des de dins de la
row_template
per donar formats específics (Ex: dimensions d'una obra pictòrica) - crear una columna nova a partir d'un càlcul (Ex: densitat de població a les llistes de municipis,etc.)
- ⇒Podeu veure totes les
row_template
agrupades a la seva categoria.
Cas pràctic
[modifica]Si agafem l'exemple bàsic que em vist vist a la pestanya: Sintaxi, aplicarem algunes millores d'edició.
- Posarem la data en notació DD-MM-AAAA
- Ocultarem el Qid de cada línia sota una imatge d'un llapis per descarregar visualment la llista.
- Afegirem una
header_template
per poder posar una icona com a capçalera del Qid i evitar un text massa llarg.
Sintaxi simplificada | Sintaxi amb header i row template |
---|---|
{{Wikidata list | sparql = SELECT * WHERE { ?item wdt:P106 wd:Q1028181; wdt:P135 wd:Q34636; wdt:P21 wd:Q6581072. } | columns = P18:Imatge,label:Nom, P19:Lloc naixement,P569:Data naixement, P106:Ocupació, item:Qid | sort=label | links = red | thumb = 60 | freq = 180
La construcció de la En aquest cas, el nombre de columnes és el mateix que el nombre de propietats que hi figuren al paràmetre columns.
Ara bé, quan alguna de les propietats que se li passen dins el paràmetre columns, no es mostrarà ocupant columna (per exemple,
perquè s'ha fet servir per un càlcul), amb la
|
{{Wikidata list | sparql = SELECT * WHERE { ?item wdt:P106 wd:Q1028181; wdt:P135 wd:Q34636; wdt:P21 wd:Q6581072. } | columns = P18,label, P19,P569, P106, item | header_template=Wikidata list/headerrow/exemple ajuda 1 | row_template=Wikidata list/exemple ajuda 1 | sort=label | links = red | thumb = 60 | freq = 180
{| class='wikitable sortable' style='width:100%' !scope="col" class="unsortable"| Imatge ! Nom ! Lloc naixement ! Data naixement ! Ocupació ! scope="col" class="unsortable"|[[File:Wikidata-logo.svg|16px|link=|Dades a Wikidata]]
|- | {{{p18|}}}<!--...... Imatge--> | {{{label|}}}<!--....... Nom--> | {{{p19|}}}<!--....... lloc naixement --> | style="text-align:center;" |{{#invoke:string|replace |source={{{p569|}}}|pattern=(%d%d%d%d)-(%d%d)-(%d%d)|replace=%3-%2-%1|plain=false}}<!--....... data naixement --> | {{{p106|}}}<!--....... ocupació --> <!--....... Wikidata--> | [[Fitxer:Arbcom ru editing.svg|12px|Modifica les dades a Wikidata|enllaç=d:{{#invoke:delink|delink|{{{item|}}}}}]] |
Informació actualitzada per un bot. Els canvis manuals es perdran quan s'actualitzi! Fi de la llista autogenerada.
|
Informació actualitzada per un bot. Els canvis manuals es perdran quan s'actualitzi! Fi de la llista autogenerada.
|
Notes de funcionament
[modifica]- Les
header_template
i elrow_template
poden ser reutilitzables. Per exemple, si fem una llista automàtica per llistar els municipis d'una regió i volem mostrar els mateixos continguts en una altra, el codi de crida a la plantilla {{Wikidata list}} que hi haurà a l'article de cada regió, seran lleugerament diferents entre si, ja què el Qid canvia. Ara bé, laheader_template
irow_template
pot ser compartida, no cal duplicar-la per cada ús. Als exemples hem intentat que les columnes mostrades fossin igualment vàlides per municipis d'Alemanya o de Catalunya, etc., per reduir el nombre de header-row a crear (i mantenir). Ara bé, si hom necessita fer una variació, es pot fer agafant com a mostra els casos dels exemples i creant-ne de nous. - Criteris sobre els noms de plantilles. A fi de tenir ordenat un catàleg que pot créixer de forma important, totes les
header_template
,row_template
i les pàgines d'exemple, s'anomenen com a subplantilles de Wikidata list (plantilla:Wikidata list/<nom descriptiu>
).header_template:
Plantilla:Wikidata list/headerrow/<nom descriptiu>. És a dir, estan totes dins el nivellheaderrow
, per diferenciar-les de lesrow_template
, tot fent servir el mateix nom final per les parelles.
Continua .. / ..
[modifica]- ⇒ pestanya "Tractament dades" per veure com editar continguts mitjançant el codi SPARQL abans de mostrar-los.
- ⇒ pestanya "Exemples" per veure casos models.