Редактирование: Модуль:HF/MediaNavs
Перейти к навигации
Перейти к поиску
Примечание. Ваши правки будут показаны в статье только после их проверки участником с соответствующими правами.
Правка может быть отменена. Проверьте сравнение версий ниже и нажмите «Записать страницу».
Если отменяемые вами изменения не вандализм, пожалуйста, допишите причину в описании правки.
Текущая версия | Ваш текст | ||
Строка 14: | Строка 14: | ||
-- Language functions | -- Language functions | ||
local language = mw.language.new('ru') | local language = mw.language.new('ru') | ||
--------------------------------------------------------- | --------------------------------------------------------- | ||
-- Открытые функции (вызываются из шаблона или статьи) -- | -- Открытые функции (вызываются из шаблона или статьи) -- | ||
Строка 28: | Строка 19: | ||
-- Обеспечивает кросс-медиа навигацию | -- Обеспечивает кросс-медиа навигацию | ||
function MN.MediaNav(frame) | function MN.MediaNav(frame) | ||
local iargs = getArgs(frame) | |||
return MN._MediaNav(iargs) | return MN._MediaNav(iargs) | ||
end | end | ||
Строка 37: | Строка 28: | ||
function MN._MediaNav ( args ) | function MN._MediaNav ( args ) | ||
-- {{#invoke:HF/MediaNavs|MediaNav|1=<Категория>|2=<Название>|3=<Номер>|4=<Направление>|5=<Отображение>}} | -- {{#invoke:HF/MediaNavs|MediaNav|1=<Категория>|2=<Название>|3=<Номер>|4=<Направление>|5=<Отображение>}} | ||
local Category = args[1 | local Category = args[1] or nil | ||
local Name = args[2 | local Name = args[2] or nil | ||
local Release = args[3 | local Release = args[3] or 0 | ||
local Direction = args[4 | local Direction = args[4] or 0 | ||
local DisplayType = args[5 | local DisplayType = args[5] or nil | ||
local querystring = { 'mainlabel=main' } | local querystring = { 'mainlabel=main' } | ||
-- Сезон мультсериала | -- Сезон мультсериала | ||
if Category == 'сезон мультсериала' then | if Category == 'сезон мультсериала' then | ||
table.insert( querystring, | table.insert( querystring, HF.Link( ('Категория:Сезоны мультсериала «%s»'):format(Name) ) ) | ||
table.insert( querystring, HF.Link( ("Сезон номер::%s"):format( (tonumber(Release or nil) or 0) + (tonumber(Direction or nil) or 0) ) ) ) | |||
querystring['default'] = Release | |||
table.insert( querystring, | if args['DisplayType'] == 'Number' then | ||
querystring['userparam'] = Release | |||
if | |||
querystring['userparam | |||
end | end | ||
end | end | ||
local query = mw.smw.ask( querystring ) | local query = mw.smw.ask( querystring ) | ||
-- для каждого результата есть запись, и первое свойство должно быть пустым именем страницы, а второе - типом | -- для каждого результата есть запись, и первое свойство должно быть пустым именем страницы, а второе - типом |