Перейти к содержанию
Главное меню
Главное меню
переместить в боковую панель
скрыть
Навигация
Заглавная страница
Указатели
Свежие правки
Случайная страница
Справка по MediaWiki
Народные Сказки
Поиск
Найти
Создать учётную запись
Войти
Персональные инструменты
Создать учётную запись
Войти
Страницы для неавторизованных редакторов
узнать больше
Вклад
Обсуждение
Редактирование:
РуСказки:Механизм шаблонов
(раздел)
О проекте
Обсуждение
русский
Читать
Править код
История
Инструменты
Инструменты
переместить в боковую панель
скрыть
Действия
Читать
Править код
История
Общие
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
==== Эффект пустых строк ==== Пусть нужно вывести имена параметров с заданными значениями в виде текста, а имена параметров, значения которых не заданы или пустые, не выводить. Для этого будем использовать условный оператор в сокращённой форме: <pre> {{#if: {{{sample1|}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! }} {{#if: {{{sample3|}}} | '''sample3'''! }} </pre> Если все значения параметров заданы и не пустые, то результаты условных операторов выстраиваются в одну строку. Если значение второго параметра не задано или задано пустым, то между первым и третьим результатом появляется пустая строка. Такой же эффект даёт вариант со вторым оператором в полной форме: <code><nowiki>{{#if: {{{sample2|}}} | '''sample2'''!| |}}</nowiki></code>. Такое действие условного оператора позволяет увидеть по пустым строкам, что не все значения параметров заданы. Однако, если шаблон используется для последовательной вставки фрагментов текста, текст будет выглядеть разорванным. Тот же пример, но второй условный оператор в полной форме и выводит неразрывный пробел. Результаты выводятся в строку: <pre> {{#if: {{{sample1|}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! |{{Nobr|}} }} {{#if: {{{sample3|}}} | '''sample3'''! }} </pre> Тот же пример, но второй условный оператор в сокращённой форме и после него стоит неразрывный пробел. Результаты также выводятся в строку: <pre> {{#if: {{{sample1|}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! }}{{Nobr|}} {{#if: {{{sample3|}}} | '''sample3'''! }} </pre> Примеры реализованы в таблице: {|class="wikitable" ! width="12%"|Варианты !Код при вызове шаблона !Код !Результат |- |Значения параметров заданы | <pre> |sample1=sample1 |sample2=sample2 |sample3=sample3 </pre> | <pre> {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|sample2}}} | '''sample2'''! }} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} </pre> | {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|sample2}}} | '''sample2'''! }} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} |- |rowspan="4"| Значение второго параметра не задано |rowspan="4"| <pre> |sample1=sample1 |sample2= |sample3=sample3 </pre> | <pre> {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! }} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} </pre> | {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! }} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} |- | <pre> {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! |{{Nobr|}} }} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} </pre> | {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''!|{{Nobr|}} }} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} |- | <pre> {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! }}{{Nobr|}} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} </pre> | {{#if: {{{sample1|sample1}}} | '''sample1'''! }} {{#if: {{{sample2|}}} | '''sample2'''! }}{{Nobr|}} {{#if: {{{sample3|sample3}}} | '''sample3'''! }} |- | <pre> {{#if: {{{sample1|sample1}}} | '''sample1'''! }}{{Nobr|}} {{#if: {{{sample2|}}} | '''sample2'''! }}{{Nobr|}} {{#if: {{{sample3|sample3}}} | '''sample3'''! }}{{Nobr|}} </pre> | {{#if: {{{sample1|sample1}}} | '''sample1'''! }}{{Nobr|}} {{#if: {{{sample2|}}} | '''sample2'''! }}{{Nobr|}} {{#if: {{{sample3|sample3}}} | '''sample3'''! }}{{Nobr|}} |} Пустая строка между первой и третьей строкой появилась из-за того, что условный оператор во второй строке вывел два перевода строки вместо пустого значения и результат обработки условными операторами принял следующий вид: '''sample1'''! <small>(пустая строка)</small> '''sample3'''! Если один перевод строки подавлен, например, малым неразрывным пробелом <code><nowiki>{{Nobr|}}</nowiki></code>, то условный оператор во второй строке не выводит ни одного перевода строки и весь результат обработки выводится в строку: '''sample1'''!{{Nobr|}} '''sample3'''! Эффект пустых строк может проявляться в шаблонах-карточках, когда на месте неопределённых параметров появляются пустые строки. Чтобы этого не происходило нужно исключать перевод строки между условными операторами. Этого можно добиться не только описанными выше, но и способами, исключающими все (и это обязательно!) переводы строки между условными операторами. Примеры реализованы в таблице: {|class="wikitable" !width="12%"|Способ !width="76%"|Код !width="12%"|Результат |- |Писать все условные операторы в одну строку | <code><nowiki> {{#if: {{{sample1|sample1}}} | '''sample1'''! }}{{#if: {{{sample2|}}} | '''sample2'''! }}{{#if: {{{sample3|sample3}}} | '''sample3'''!}}</nowiki></code> | {{#if:{{{sample1|sample1}}}|'''sample1'''!}}{{#if:{{{sample2|}}}|'''sample2'''!}}{{#if:{{{sample3|sample3}}}|'''sample3'''!}} |- |Включать комментарии для исключения знака переноса | <pre> {{#if: {{{sample1|sample1}}} |'''sample1'''! }}<!-- разделитель -->{{#if: {{{sample2|}}} |'''sample2'''! }}<!-- разделитель -->{{#if: {{{sample3|sample3}}} |'''sample3'''! }}</pre> | {{#if: {{{sample1|sample1}}} |'''sample1'''! }}<!-- разделитель -->{{#if: {{{sample2|}}} |'''sample2'''! }}<!-- разделитель -->{{#if: {{{sample3|sample3}}} |'''sample3'''! }} |- |Делать переносы внутри условных операторов, а не между ними | <pre> {{ #if: {{{sample1|sample1}}} | '''sample1'''! }}{{ #if: {{{sample2|}}} | '''sample2'''! }}{{ #if: {{{sample3|sample3}}} | '''sample3'''! }}</pre> | {{ #if: {{{sample1|sample1}}} | '''sample1'''! }}{{ #if: {{{sample2|}}} | '''sample2'''! }}{{ #if: {{{sample3|sample3}}} | '''sample3'''! }} |}
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «Народные Сказки» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
РуСказки:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Отобразить/Скрыть ограниченную ширину содержимого