Module:WBFrames
Модуль 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