For faster navigation, this Iframe is preloading the Wikiwand page for Module:Pagesincat.

Module:Pagesincat

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

Liste des fonctions exportées par le module sous la forme :

  • pagesincat(frame) – retourne le nombre de pages dans une catégorie

Modules externes et autres éléments dont ce module a besoin pour fonctionner :

  • mw.title, mw.language, mw.site

Détails et fonctions internes

  • erreur(texte) – retourne une mise en forme de texte sous forme d'erreur, dans un <span class="error"></span>
  • pagesincat(frame) – retourne le nombre de pages dans une catégorie
    • paramètres : tous les paramètres issus de frame:getParent().args sauf le paramètre nommé type qui est d'abord testé en provenance du modèle (pour permettre une surcharge) puis seulement de l'appel au modèle.
      • paramètre non nommé (le seul) : le nom de la catégorie dont on veut le nombre de pages, sans l'extension Catégorie:. Si ce paramètre n'est pas indiqué le nom de la page où le modèle est appelé est utilisée. Si cette page n'est pas une catégorie une erreur est générée.
      • type=Type : type de pages à décompter : tous ; cats ; fichiers ; pages. Si non précisé tous est utilisé
      • mise en forme=oui : si ce paramètre est non vide le nombre retourné est mis en forme selon les critères de la langue courante (séparateur de miliers)
    • éléments techniques :
      • utilise mw.title.getCurrentTitle() pour connaître l'espace de nom (.namespace) et le nom (.text) de la page courante, si le nom n'est pas passé en paramètre
      • utilise mw.site.stats.pagesInCategory() pour obtenir le compte des pages dans une catégorie
      • utilise mw.getContentLanguage():formatNum() pour formater selon les conventions locales le nombre retourné, si la mise en forme est demandée
      • retourne une erreur si mw.site.stats.pagesInCategory() échoue. Est-ce que cela peut se produire ?
-- module reproduisant le comportement de ((PAGESINCATEGORY))
-- sans le bug

local p = {}

-- génère une erreur
function p.erreur(texte)
    return '<span class="error">' .. (texte or "''aucune erreur indiquée''") .. "</span>"
end


-- pour tester la fonctionnalité "pageincategory"
function p.pagesincat(frame)
    -- le nom de la catégorie
    local args = ( frame.getParent and frame:getParent().args ) or frame        -- préparation pour appel par modèle ou direct.
    local cat = args[1]
    -- le type de demande
    local arg = (frame.args and frame.args["type"]) or args["type"]
    -- mise en forme des nombres ?
    local mef = args["mise en forme"] or args["mise_en_forme"]

    local sel  -- la sélection

    -- en l'absence de nom de catégorie on utilise la page courante
    if (cat == nil or cat == "") then
        local titre = mw.title.getCurrentTitle()
        -- on vérifie qu'on est une catégorie
        if (titre.namespace ~= 14) then
            return p.erreur("Pas de nom de page indiqué et la page courante n'est pas une catégorie")
        end
        -- on utilise le titre de la page courante
        cat = mw.title.getCurrentTitle().text
    end
 
    -- on regarde le paramètre
    if (arg == "tous" or arg == nil or arg == "*") then
        sel = "all"
    elseif (arg == "cats") then
        sel = "subcats"
    elseif (arg == "fichiers") then
        sel = "files"
    elseif (arg == "pages") then
        sel = "pages"
    else
        return p.erreur("paramètre '" .. (arg or "<nil>") .. "' non reconnu")
    end
 
    local res = mw.site.stats.pagesInCategory(cat, sel)
    if (res == nil) then
        return p.erreur("erreur de récupération des informations")
    end
    -- si mise en forme on applique
    if (mef ~= nil) then
        return mw.getContentLanguage():formatNum(res)
    else
        return tostring(res)
    end
end

return p
{{bottomLinkPreText}} {{bottomLinkText}}
Module:Pagesincat
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?