Шаблон:Tl: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
(fix, оптимизация)
Строка 1: Строка 1:
{{#if: {{#if: {{{2|}}}{{{3|}}}{{{4|}}}{{{5|}}}{{{nl|}}}{{{nolink|}}}{{{u|}}}{{{s|}}}{{{п|}}}{{{g|}}}{{{b|}}}{{{lang|}}}{{{sister|}}}{{{text|}}} | | {{#if: {{{1|}}} | {{#ifexpr: {{str len|{{{1}}}}} = 1 | | {{#ifeq: {{str left|{{{1}}}|1}} | : | | x }} }} | {{#ifexpr: {{str len|{{ROOTPAGENAME}}}} = 1 | | x }} }} }}
+
{{#if: {{#if: {{{2|}}}{{{3|}}}{{{4|}}}{{{5|}}}{{{nl|}}}{{{nolink|}}}{{{s|}}}{{{п|}}}{{{g|}}}{{{u|}}}{{{b|}}}{{{lang|}}}{{{sister|}}}{{{text|}}} | | {{#if: {{{1|}}} | {{#ifexpr: {{str len|{{{1}}}}} = 1 | | {{#ifeq: {{str left|{{{1}}}|1}} | : | | x }} }} | {{#ifexpr: {{str len|{{ROOTPAGENAME}}}} = 1 | {{#if: {{#titleparts: {{PAGENAME}} | 1 | 2 }} | | x }} | x }} }} }}
 
                 <!-- Оптимизируем выполнение, не вынуждая парсер проходить через катакомбы сложной обработки параметров,
 
                 <!-- Оптимизируем выполнение, не вынуждая парсер проходить через катакомбы сложной обработки параметров,
                     если шаблон вызван без дополнительных параметров -->
+
                     если шаблон вызван без дополнительных параметров и то, что дано, не требует особой обработки -->
 
| <span class="wp-templatelink">&#123;&#123;</span>{{#if: {{{1|}}} |
 
| <span class="wp-templatelink">&#123;&#123;</span>{{#if: {{{1|}}} |
 
     {{#ifeq:
 
     {{#ifeq:
 
       {{FULLPAGENAME: Шаблон:{{{1}}} }} <!-- {{FULLPAGENAME:}} для преобразования «_» в « » и т. п., -->
 
       {{FULLPAGENAME: Шаблон:{{{1}}} }} <!-- {{FULLPAGENAME:}} для преобразования «_» в « » и т. п., -->
 
     | {{FULLPAGENAME}}                  <!-- а также решения проблемы с именами на «*», «;» и т. п. при вызове ucfirst -->
 
     | {{FULLPAGENAME}}                  <!-- а также решения проблемы с именами на «*», «;» и т. п. при вызове ucfirst -->
     | {{FULLPAGENAME: {{{1}}} }}
+
     | <nowiki/><!-- фикс для имён на «*», «;» и т. п. -->{{{1}}}
 
     | [[Шаблон:{{{1}}}|{{{1}}}]]
 
     | [[Шаблон:{{{1}}}|{{{1}}}]]
 
     }}
 
     }}
Строка 70: Строка 70:
 
Некоторые детали для понимания (части) логики:
 
Некоторые детали для понимания (части) логики:
 
• больше всего места занимает «прочесывание» параметров в поисках допустимых значений;
 
• больше всего места занимает «прочесывание» параметров в поисках допустимых значений;
• если шаблон вызывается без первого параметра, максимум ненумерованных параметров может быть 5, поэтому нужные значения (nl/nolink, u, s/п, b) ищутся во 2-5 параметрах;
+
• если шаблон вызывается без первого параметра, максимум ненумерованных параметров может быть 5, поэтому нужные значения (nl/nolink, s/п, u, b) ищутся во 2-5 параметрах;
 
• если шаблон вызывается с первым параметром, максимум ненумерованных параметров может быть 4, поэтому нужные значения (nl/nolink, s/п, g, b; но nl несовместимо с g) ищутся... все равно во 2-5 параметрах, мало ли;
 
• если шаблон вызывается с первым параметром, максимум ненумерованных параметров может быть 4, поэтому нужные значения (nl/nolink, s/п, g, b; но nl несовместимо с g) ищутся... все равно во 2-5 параметрах, мало ли;
 
• когда мы находимся в документации (Шаблон:Имя шаблона/doc), ссылка тоже показывается;
 
• когда мы находимся в документации (Шаблон:Имя шаблона/doc), ссылка тоже показывается;

Версия от 04:15, 25 января 2016

{{tl}}

Документация