Module:WBFrames

From Стандартопедия
Jump to navigation Jump to search

Модуль Module:WBFrames используется для включения на страницы вики фреймов с диаграммами и фреймов со страницами графа знаний при их наличии.

Использование:

1. На всех страницах вики располагаются вызовы Template:WBPageTrans c параметром, формируемым вызовом разных функций модуля Module:WBFrames:

{{WBPageTrans|present={{#invoke:WBFrames|diagisorno}}}}
{{WBPageTrans|present={{#invoke:WBFrames|isorno}}}}

Оба вызова проверяют наличие Item для данной страницы в Wikibase.

2. Функция diagisorno:

При наличии Item темплейту Template:WBPageTrans передаётся имя Template:WBDiagram (без параметров), темплейт Template:WBPageTrans размещает вызов Template:WBDiagram на странице, страница вызывает Template:WBDiagram, который включает на страницу таблицу с фреймом с сайта диаграмм через трансклюзию
{{Special:IframePage/Graph|path={{#invoke:Wikibase|id}}}}

При отсутствии Item темплейту Template:WBPageTrans передаётся имя Template:WBNoDiagram (без параметров), темплейт Template:WBPageTrans размещает вызов Template:WBDiagram на странице, страница вызывает Template:WBDiagram, который пуст.

3. Функция isorno:

При наличии Item темплейту Template:WBPageTrans передаётся имя Template:WBItem (без параметров), темплейт Template:WBPageTrans размещает вызов Template:WBItem на странице, страница вызывает Template:WBItem, который включает на страницу таблицу с фреймом соответствующей страницы Item через трансклюзию
{{Special:IframePage/WikibaseItem|path={{#invoke:Wikibase|id}}}

При отсутствии Item темплейту Template:WBPageTrans передаётся имя Template:WBNoItem (без параметров), темплейт Template:WBPageTrans размещает вызов Template:WBNoItem на странице, страница вызывает Template:WBNoItem, который содержит уведомление об отсутствии Item и предложение его добавить.


---------- Module:WBFrames ----------------
local p = {}

-- Return the appropriate page frame template call wheter WikibaseItem exists or not
function p.isorno(frame)
	if not mw.wikibase then
		return "WBNoItem"
	end
	entity = mw.wikibase.getEntityObject()

	if entity == nil then
		return "WBNoItem"
	end
	return ("WBItem" )
end

-- Return the appropriate diagram frame template call wheter WikibaseItem exists or not
function p.diagisorno(frame)
	if not mw.wikibase then
		return ("WBNoDiagram")
	end
	entity = mw.wikibase.getEntityObject()

	if entity == nil then
		return ("WBNoDiagram")
	end
	return ("WBDiagram")
end

return p