Template:Interprogetto

(Reindirizzamento da Template:Ip)


Template protetto parzialmente – Se non puoi modificare questo template, le modifiche possono essere proposte nella pagina di discussione.
Info Istruzioni per l'uso
Le istruzioni che seguono sono contenute nella sottopagina Template:Interprogetto/man (modifica·cronologia)

Descrizione

Il Template:Interprogetto permette di inserire uno o più collegamenti a pagine di altri progetti di Wikimedia che trattino lo stesso argomento.

  • Questa pagina contiene il manuale tecnico del template, utile per eventuali modifiche o aggiornamenti.
  • Per il manuale d'uso, gli esempi e le istruzioni specifiche progetto per progetto vedi la relativa pagina di aiuto.

Documentazione del codice

Nota: se modificate il codice del template, per favore modificate anche questa documentazione.

Il codice comprende:

  • La funzione interProject, inserita nel Common.js comune (funziona ora con tutte le skin).
Il codice è importato direttamente da Commons, dove a sua volta è stato implementato partendo dal codice originale del wikizionario tedesco.
  • Il template Interprogetto.
Richiama la funzione interProject e stabilisce il contenuto del testo che va inserito nel menu di sinistra "Altri progetti" in base ai parametri passati dall'utente. Se il primo parametro non è "nolink", aggiunge anche collegamenti nel testo della voce.
Prima sezione - Per prima cosa se esiste un parametro il cui nome è uno dei prefissi accettati per il collegamento ad altri progetti, ne usa il valore per creare un collegamento (nel menu di sinistra "Altri progetti") [[nome del parametro:valore del parametro]]. Questo si ottiene con una serie di istruzioni #if che richiama il template "/Collegamento" (o "/CollegamentoUselang") nel caso in cui il parametro esista; per esempio (per il prefisso wikisource): {{#if: {{{wikisource|}}} |{{Interprogetto/Collegamento|wikisource:{{{wikisource|}}}|Wikisource}}|}}. È inserita un'istruzione #if per ogni prefisso attualmente accettato. Inoltre controlla se uno dei parametri passati senza nome esplicito (1,2,3… fino a 27) corrisponde ad uno dei prefissi accettati, richiamando il template "/leggiParametro". In caso positivo, quest'ultimo template inserisce un collegamento ad una pagina del progetto corrispondente con lo stesso nome (completo di namespace) della pagina collegata.
Seconda sezione - Per ognuno dei prefissi accettati viene quindi controllato che il prefisso esista e che il primo parametro non sia "nolink". Se entrambe le condizioni sono vere viene inserito un richiamo al template "/Box" che inserisce nella voce la frase relativa al prefisso in questione. Il controllo viene fatto sia sui parametri standard da 1 a 27, sia sulla presenza di parametri che abbiano come nome un prefisso accettato. In quest'ultimo caso si usa il valore del parametro per impostare il "collegamento", altrimenti il nome della pagina (completo di namespace): {{FULLPAGENAME}}. Nel caso siano inseriti i parametri etichetta, oggetto e/o preposizione (globali o specifici per il prefisso in questione), il richiamo al template "/Box" ne tiene conto, passandoli come parametri.
Terza sezione - Infine, a seconda dei parametri specificati (wikipedia e/o w_site), inserisce automaticamente la categoria di servizio per le voci con interprogetto verso Wikipedia in altra lingua.
Formatta il collegamento da inserire nella barra di sinistra, così: * [[prefissoProgetto:nomePaginaDaCollegare|Nome del progetto]].
Questo è ottenuto tramite il semplice codice: * [[{{{1|}}}|{{{2|}}}]]. La necessità del template deriva dal fatto che sostituendo direttamente questo codice nel template Interprogetto, la formattazione del punto prima del collegamento risulta errata.
Analogamente al template "/Collegamento" formatta il collegamento da inserire nella barra di sinistra, con in più il parametro uselang=it per impostare la lingua dell'interfaccia a italiano.
Questo è ottenuto tramite il semplice codice: * <span class="plainlinks">[{{fullurl:{{{1|}}}|uselang=it}} {{{2|}}}]</span>. La necessità del template deriva dal fatto che sostituendo direttamente questo codice nel template Interprogetto, la formattazione del punto prima del collegamento risulta errata.
Controlla se un parametro corrisponde ad uno dei prefissi accettati per i progetti di Wikimedia; in caso positivo usa il template "/Collegamento" (o "/CollegamentoUselang") per inserire un collegamento ad una pagina nell'altro progetto con lo stesso nome (completo di namespace) della pagina collegata.
Viene usato uno #switch controllando se il parametro passato al template corrisponde ad una serie di etichette (i prefissi accettati). In caso positivo usa il nome dell'etichetta per creare un collegamento tramite {{interprogetto/Collegamento|{{{1}}}:{{FULLPAGENAME}}|Nome del progetto}}. Se il parametro non corrisponde ad un prefisso accettato non inserisce alcun testo.
Inserisce nel testo della voce una delle frasi standard (con relative icone) per i collegamenti ad altri progetti. Richiede tre parametri: progetto specifica il nome del progetto e permette la selezione del testo e dell'icona relativi; collegamento specifica il nome della pagina a cui puntare il collegamento; etichetta specifica il testo da inserire per il collegamento vero e proprio (se il valore passato dell'etichetta è nullo, usa il nome della pagina (senza namespace): {{PAGENAME}}.
Viene usato uno #switch controllando se il parametro "progetto" passato al template corrisponde ad una serie di etichette (i prefissi accettati). A seconda del progetto viene inserito quindi un testo predefinito. Il testo di ogni singolo progetto viene comunque personalizzato con i valori opzionali (passati come parametri al template): (1) progetto_oggetto / oggetto, (2) progetto_preposizione / preposizione, (etichetta) progetto_etichetta / etichetta e per alcuni casi (3) progetto_lingua; si ottiene così la frase: "progetto" contiene "progetto_oggetto" (in "progetto_lingua") "progetto_preposizione" [["collegamento"|"progetto_etichetta"]].

Esempio visivo

{{interprogetto|w|w2|w2_lingua=italiana|w|w_site=en |s|s_lingua=italiano |s2|s2_lingua=italiano |testo|testo_lingua=italiano |testo2|testo2_lingua=italiano |autore|autore_lingua=italiano |b|ricetta |wikt |v |n|voy |d |commons|cat |meta |species}}

Prefissi e parametri del template

La frase standard inserita nella voce segue il seguente schema:

  • "Icona del prefisso" · "prefisso" contiene (inoltre) "prefisso_oggetto" (in "prefisso_lingua") "prefisso_preposizione" [["collegamento"|"prefisso_etichetta"]].
    • Se non viene specificato esplicitamente un collegamento, viene utilizzato il nome completo della pagina {{FULLPAGENAME}}.
    • Se non viene specificata esplicitamente una etichetta, viene utilizzato il nome (senza namespace) della pagina {{PAGENAME}}.

Nella seguente tabella vengono riepilogati tutti i prefissi accettati, e per ognuno di essi i parametri disponibili.

prefisso inoltre prefisso_oggetto
oggetto
in prefisso_lingua prefisso_preposizione
preposizione
prefisso_etichetta
etichetta
collegamento note
wikipedia wikipedia:… per collegamenti in inglese
w[1] w:… parametro opzionale: w_site=
w2 w:…
wikisource wikisource:… per collegamenti in inglese
s s:…
s2 s:…
testo s:…
testo2 s:…
autore s:Autore:…
wikibooks wikibooks:… per collegamenti in inglese
b b:…
ricetta b:Libro di cucina/Ricette/…
wiktionary wiktionary:… per collegamenti in inglese
wikt wikt:…
wikiversity wikiversity:… per collegamenti in inglese
v v:…
wikinews wikinews:… per collegamenti in inglese
n n:…
notizia n:… parametro opzionale: data=
wikivoyage wikivoyage:… per collegamenti in inglese
voy voy:…
wikidata wikidata:… per collegamenti in inglese
d d:…
commons commons:…
c commons:…
cat commons:Category:…
meta meta:…
m m:…
wikispecies wikispecies:…
species species:…

Note

  1. Solo per il prefisso w è disponibile il parametro opzionale w_site che inserisce un collegamento a una Wikipedia straniera visualizzando la notazione della lingua accanto all'icona del progetto.