Передача знака равенства ( ' = ' ) параметру в шаблоне MediaWiki

Как я могу использовать символ ' = ' в параметре шаблона, не нарушая синтаксический анализатор шаблона? Я не разработчик MediaWIKI, поэтому я не отладил код или проверил журналы, я надеюсь, что у кого-то здесь есть подсказка для экранирования символов, переданных шаблонам.

создайте шаблон под названием "Тест" с этим контентом:

{{{1}}}

такой:

{{ Test | R = 3/(2-(1+1)) }} 

окажем {{{1}}} вместо сложной формулы! Я определил, что символ' = виновный.

4 ответов


если строка параметра шаблона MediaWiki содержит знак равенства, все перед знаком принимается за имя параметра. Если это так не содержит знак равенства, строка параметра назначается следующему доступному числовому параметру.

таким образом, самый простой обходной путь, если вы действительно хотите, чтобы нумерованное значение параметра содержало знак равенства, - это явно пронумеровать его, например:

{{ Test | 1 = R = 3/(2-(1+1)) }}

это приведет к {{{1}}} внутри шаблон для расширения в строку R = 3/(2-(1+1)), как:

{{ Test | equation = R = 3/(2-(1+1)) }}

вызывает {{{equation}}} для расширения до той же строки.


вы можете создать {{=}} шаблон, значение которого =. Затем используйте этот шаблон вместо голого знака равенства в своих шаблонах, например:

{{ Test | R {{=}} 3/(2-(1+1)) }} 

Я удивлен, что никто не упомянул об этом, но как насчет побега персонажа?

используя = будет работать. Если вы не потрудились запомнить код, вы можете создать шаблон Template:= С = как единственный контент (используя не экранированный = в этом шаблоне просто вызовет ту же проблему снова), а затем включите его как {{=}}


Если