Différences entre les versions de « Module:Institution »
De Commission Historique
m |
m |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 5 : | Ligne 5 : | ||
f = require("Module:Fonctions") | f = require("Module:Fonctions") | ||
fo = require("Module:Fo") | |||
local langue = frame:preprocess("{{int:lang}}") | local langue = frame:preprocess("{{int:lang}}") | ||
local lang = mw.getLanguage( langue ) | local lang = mw.getLanguage( langue ) | ||
Ligne 15 : | Ligne 13 : | ||
local tables = 'Pers_inst' | local tables = 'Pers_inst' | ||
local fields = ' | |||
local fields = 'Objet_1,Nature,RefBib,_pageName=Prel' | |||
local arguments = { | local arguments = { | ||
where=' | where='Objet_2 WITHIN "' .. pagetitle .. '" ', | ||
groupBy=' | groupBy='Nature,Objet_1', | ||
orderBy=' | orderBy='Nature,Objet_1', | ||
intro='' | intro='' | ||
} | } | ||
local result = mw.ext.cargo.query(tables, fields, arguments) | local result = mw.ext.cargo.query(tables, fields, arguments) | ||
if | local pers_inst | ||
if result then | |||
pers_inst = '\n=={{int:Template-Personnels_et_protagonistes}}==\n' | pers_inst = '\n=={{int:Template-Personnels_et_protagonistes}}==\n' | ||
local relations = f.trie_relations(result,"Nature",langue) | local relations = f.trie_relations(result,"Nature",langue) | ||
Ligne 29 : | Ligne 29 : | ||
pers_inst = pers_inst .. '\r===' .. nature .. '===\r' | pers_inst = pers_inst .. '\r===' .. nature .. '===\r' | ||
for _,role in ipairs(relation) do | for _,role in ipairs(relation) do | ||
pers_inst = pers_inst .. '* [[' .. role["Objet_1"] .. ']]' .. fo.splitTextN(role['RefBib']) .. '[[' .. role["Prel"] .. '|→]]\n' | |||
pers_inst = pers_inst .. '* [[' .. role["Objet_1"] .. ']]' .. | |||
end | end | ||
end | end | ||
end | end | ||
return frame:preprocess(pers_inst) | |||
end | end | ||
return p | return p |
Version actuelle datée du 4 février 2022 à 10:49
La documentation pour ce module peut être créée à Module:Institution/doc
local pagetitle = tostring(mw.title.getCurrentTitle())
local p = {}
function p.main(frame)
f = require("Module:Fonctions")
fo = require("Module:Fo")
local langue = frame:preprocess("{{int:lang}}")
local lang = mw.getLanguage( langue )
-- Relations personnes/institutions
local tables = 'Pers_inst'
local fields = 'Objet_1,Nature,RefBib,_pageName=Prel'
local arguments = {
where='Objet_2 WITHIN "' .. pagetitle .. '" ',
groupBy='Nature,Objet_1',
orderBy='Nature,Objet_1',
intro=''
}
local result = mw.ext.cargo.query(tables, fields, arguments)
local pers_inst
if result then
pers_inst = '\n=={{int:Template-Personnels_et_protagonistes}}==\n'
local relations = f.trie_relations(result,"Nature",langue)
for nature, relation in pairs(relations) do
pers_inst = pers_inst .. '\r===' .. nature .. '===\r'
for _,role in ipairs(relation) do
pers_inst = pers_inst .. '* [[' .. role["Objet_1"] .. ']]' .. fo.splitTextN(role['RefBib']) .. '[[' .. role["Prel"] .. '|→]]\n'
end
end
end
return frame:preprocess(pers_inst)
end
return p