Help:Parser functions in templates/ru

При применении ParserFunctions к параметрам template можно использовать символ («|») для установки значения по умолчанию, которое будет используется, когда параметр не определен. Используемый в функции #if, нерасширенный текст из неопределенного параметра будет оцениваться как true, что может быть неожиданным результатом.




 * :;Пример A: :


 * :;Результат: :




 * :;Пример B: :


 * :;Результат: :

Второе использование (, образец Б) с текущим пустым значением по умолчанию часто является желаемым способом обработки ситуаций, когда параметр существует, но состоит только из пустого пространства.

Тестирование и передача неопределенных параметров
Чтобы отличить возможно пустой параметр от неопределенного, сравните его с самим собой, используя  и разные значения по умолчанию. Значения по умолчанию не имеют значения, если они разные, поэтому обычно выбирают короткие. Следующие действия работают одинаково:



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





получает определенный параметр normal_parameter во всех случаях. Когда параметр normal_parameter определен, но пуст и когда он не определен,  получает пустой параметр normal_parameter.

В отличие от этого,  получает определенный чувствительный_параметр только тогда, когда он действительно определен; когда чувствительный_параметр не определен,   изменяет имя параметра на чувствительный_параметрNULL. Имя параметра с суффиксом должно быть бессмысленным для, чтобы это работало правильно.

Смотрите также

 * Расширения:Loops#forargs
 * Расширения:Loops#forargs
 * Расширения:Loops#forargs