Différences entre les versions de « Module:Outils »
De Commission Historique
m |
m |
||
Ligne 6 : | Ligne 6 : | ||
local field_branches = frame.args['field_branches'] | local field_branches = frame.args['field_branches'] | ||
local field_noeuds = frame.args['field_noeuds'] | local field_noeuds = frame.args['field_noeuds'] | ||
arbre = p.ramif('', racine,'*',cargo_table,field_branches) | arbre = p.ramif('', racine,'*',cargo_table,field_branches,liens) | ||
return(arbre) | return(arbre) | ||
end | end | ||
Ligne 19 : | Ligne 19 : | ||
for _,branche in ipairs(liste_branches) do | for _,branche in ipairs(liste_branches) do | ||
if #branche['_pageName'] > 0 then | if #branche['_pageName'] > 0 then | ||
if liens then | if liens == 'Oui' then | ||
arbre = arbre .. '\n'.. prof .. '[[' .. branche['_pageName'] .. ']]' | arbre = arbre .. '\n'.. prof .. '[[' .. branche['_pageName'] .. ']]' | ||
else | else |
Version du 30 mars 2021 à 16:32
La documentation pour ce module peut être créée à Module:Outils/doc
local p = {}
function p.arbre(frame)
local racine = frame.args['racine']
local cargo_table = frame.args['tables']
local field_branches = frame.args['field_branches']
local field_noeuds = frame.args['field_noeuds']
arbre = p.ramif('', racine,'*',cargo_table,field_branches,liens)
return(arbre)
end
function p.ramif(arbre, noeud, prof, cargo_table, field_branches,liens)
local arguments = {
where = field_branches .. '=' .. '"' .. noeud .. '"',
groupBy = '_pageName',
default = '',
}
liste_branches = mw.ext.cargo.query(cargo_table, '_pageName', arguments)
for _,branche in ipairs(liste_branches) do
if #branche['_pageName'] > 0 then
if liens == 'Oui' then
arbre = arbre .. '\n'.. prof .. '[[' .. branche['_pageName'] .. ']]'
else
arbre = arbre .. '\n'.. prof .. branche['_pageName']
end
arbre = p.ramif(arbre,branche['_pageName'], prof .. '*', cargo_table, field_branches)
end
end
return arbre
end
function p.requete(frame)
local liste = ''
local tables = frame.args['tables']
local fields = frame.args['fields']
local arguments = {
join = frame.args['joinOn'],
where = frame.args['where'],
groupBy = frame.args['groupBy'],
orderBy = frame.args['orderBy'],
intro = frame.args['intro'],
outro = frame.args['outro'],
}
local result = mw.ext.cargo.query(tables, fields, arguments)
for _,row in ipairs(result) do
for _, field in pairs(row) do
if #field > 0 then
liste = liste .. '\n' .. field
end
end
end
return liste
end
return p