Модуль:CallMW

Материал из wikixw
Версия от 22:11, 3 июня 2023; Cc82737 viki (обсуждение | вклад) (Новая страница: «local p = {} function p.mw(frame) local moduleName = frame.args[1] local functionName = frame.args[2] local params = {} for key, value in ipairs(frame.args) do if key > 2 then table.insert(params, value) end end return mw[moduleName][functionName](unpack(params)) end return p»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Функция mw позволяет вызывать служебные функции из mw:Extension:Scribunto/Lua reference manual#Scribunto libraries из шаблонов, а не только из модулей:

  • Код в модуле: mw.wikibase.getEntityIdForTitle('Octillion', 'enwiki')
  • Код в шаблоне: {{#invoke:callMW|mw|wikibase|getEntityIdForTitle|Octillion|enwiki}}

Тесты модуля[править]

Ошибка Lua в Модуль:CallMW/tests на строке 6: attempt to index field 'wikibase' (a nil value).

Примеры использования[править]

  • {{Wikidata-redirect}}
  • {{Falseredirect}}

local p = {}

function p.mw(frame)
	local moduleName = frame.args[1]
	local functionName = frame.args[2]
	local params = {}
	for key, value in ipairs(frame.args) do
		if key > 2 then
			table.insert(params, value)
		end
	end
	return mw[moduleName][functionName](unpack(params))
end

return p