Волшебное слово MediaWiki или функция парсера в шаблоне, который печатает имя шаблона? - PullRequest
1 голос
/ 22 апреля 2019

Контекст этого вопроса предназначен для отслеживания того, из каких шаблонов поступает включенный контент.

Похоже, что нет встроенной функции, которая делает это (см. https://www.mediawiki.org/wiki/Help:Magic_words). Большинство из этих связанныхк заголовкам страниц, как вы видите в строке URL.

Вот гипотетический пример того, что я ищу:

Содержимое "Template: Foo"

<includeonly>You transcluded Template:{{TEMPLATENAME}}</includeonly>

Содержимое «Примерной страницы»

{{Foo}}

Как должна выглядеть «Примерная страница»:

You transcluded Template:Foo

Использование {{PAGENAME}} или подобного не работает, потому что они используюттекущая страница, к которой они применяются. Например, если Template: Foo использовал {{PAGENAME}} вместо гипотетического {{TEMPLATENAME}}, тогда содержимое страницы примера будет «Вы перешли в шаблон: Пример страницы»,что было бы неправильно.

1 Ответ

2 голосов
/ 24 апреля 2019

Вы можете получить к нему доступ только через рамку синтаксического анализа.Расширение Scribunto делает его доступным , если вы его не используете, вам придется написать собственную функцию синтаксического анализа (и объявить ее с параметром SFH_OBJECT_ARGS, поэтомупередается к нему).

...