как невыводить из шаблона данные которые не заполнены при вызове

Solj

Гуру MediaWiki
Регистрация
15.12.2014
Сообщения
159
Реакции
7
Собственно есть шаблон примерно такой структуры
Код:
<div class="temp_item">
{|class="wikitable"
!Имя
!{{{name}}}
|-
|colspan="2"| [[File:{{{img}}}.png|300px|alt={{{img}}}]]
|-
|colspan="2"|{{{desc}}}
|}</div>

Соответственно вызов шаблоны выглядит так
Код:
{{Item
|name = имя
|img = foo
|desc = bla bla bla
}}

В этом плане проблем нет, всё работает как и должно. Но, допустим мне не надо выводить данные desc
Код:
{{Item
|name = Item
|img = foo
}}
Тогда в итоговом результате я получу пустую ячейку без контента.

В идеале мне надо сделать так, что бы эта ячейка не выводилась.
Подскажите как лучше это сделать.
 
Хорошо, предположим я загоняю в шаблон оператор условий

Код:
<div class="temp_item">
{|class="wikitable"
!Имя
!{{{name}}}
|-
|colspan="2"| [[File:{{{img}}}.png|300px|alt={{{img}}}]]
{{#if: {{{desc}}} |
   |-
    |colspan="2" |{{{desc}}}
| }}
|}</div>
Структура начинает ломаться
Мне каким то образом надо экранировать символ "|" от оператор условий

UPD
Точнее экранировать всю конструкцию
Код:
|-
    |colspan="2" |{{{desc}}}
 
В шаблоне Карточка есть пример.
 
В общем, у меня ничего не вышло с {{!}}. Поковыряв, подумав, и посмотрев пару шаблонов на wikipedia.org обнаружил что они в шаблонах используют вместо таблиц в формате вики разметки ( {| ) обычные HTML теги

Конструкция
Код:
{{#if: {{{desc}}} |
<tr>
<td colspan="2">{{{desc}}}</td>
</tr>
}}
прекрасно работает!
 
Да, сам всегда html-теги юзаю для таблиц, родная разметка вики немного упоротая ;-)
 
Назад
Верх