Wikipedia:Monobook.js/Richieste: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Osservati speciali: grazie |
→Elenco da lista di categorie: nuova sezione |
||
Riga 758:
:::{{Fatto}} '''''<span style="font-size:medium;font-family:Comic Sans MS;text-shadow: 2px 2px 3px #aaa">[[Utente:Jalo|<span style="color:#BB0011">Anima</span>]] [[Discussioni utente:Jalo|<span style="font-size:small;color:#DD2233">pia</span>]]</span>''''' 10:01, 7 mag 2012 (CEST)
::::Grazie mille! :)--[[Utente:Sandrobt|Sandro_bt]] <small>([[Discussioni utente:Sandrobt|scrivimi]])</small> 02:49, 8 mag 2012 (CEST)
== Elenco da lista di categorie ==
Salve ho trovato uno script che elenca le pagine di una categoria, però non so dove metterlo. Serve per [[Aiuto:Sportello_informazioni#Una_mano_dagli_smanettoni|questa richiesta]] allo SI.
{{cassetto|titolo=Codice|testo=
<source lang="Javascript">
$(".lista_da_categoria").each(function(index, obj) {
asyncGetCategoryList($(this).html(), this);
});
// Incollato da [[mw:API:Categorymembers#Retrieving_via_AJAX]] e opportunamente modificato.
// Questa funzione ottiene l'elenco delle pagine presenti in una certa categoria, genera una lista HTML, e inserisce la lista in un componente della pagina web.
// Restituisce fino a 500 pagine se usato da un utente normale, fino a 5000 se usato da un bot. Per maggiori info, vedi [[mw:API:Categorymembers]].
//
// @param categoryName Il nome della categoria da ispezionare.
// @param target Un oggetto del DOM della pagina web, in cui sarà inserita la lista generata.
function asyncGetCategoryList( categoryName, target ) {
$.ajax({
url: mw.util.wikiScript( 'api' ),
data: {
// For parameter documentation, visit <http://en.wikipedia.org/w/api.php> and then search for "list=categorymembers"
format: 'json',
action: 'query',
list: 'categorymembers',
cmtitle: 'Category:' + categoryName,
cmtype: 'page',
cmlimit: 'max'
},
dataType: 'json',
type: 'GET',
success: function( data ) {
if ( data && data.query && data.query.categorymembers ) {
// Genero la lista in formato HTML a partire dall'elenco delle categorie.
listaHTML = '<ul>';
for(i = 0; i < data.query.categorymembers.length; i++) {
nomePagina = data.query.categorymembers[i].title;
listaHTML += '<li><a href=' + mw.util.wikiGetlink( nomePagina ) + '>' + nomePagina + '</a>';
}
listaHTML += '</ul>';
$(target).html(listaHTML);
} else if ( data && data.error ) {
// Will this ever happen??
alert( 'Impossibile ottenere la lista delle pagine della categoria ' + categoryName + '. La API ha restituito il codice di errore "' + data.error.code + '": ' + data.error.info );
} else {
alert( 'Impossibile ottenere la lista delle pagine della categoria ' + categoryName + ': il sito ha restituito dati errati o inutilizzabili.' );
}
},
error: function( xhr ) {
// ... error ...
}
});
}
</source>
}}
Uso:
:<nowiki><div class="lista_da_categoria">Videogiochi freeware</div></nowiki>
Il div sarà riempito con la lista delle pagine nella Categoria:Videogiochi.
--[[Utente:LoStrangolatore|LoStrangolatore]] <small>([[Discussioni utente:LoStrangolatore|discussione]])</small> 20:11, 28 mag 2012 (CEST)
|