1. Приглашаем вступить в нашу группу ВКонтакте.
  2. Присоединяйтесь к нашему чату по ссылке: http://t.me/mediawiki_ru

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

Тема в разделе 'Шаблоны Media Wiki', создана пользователем Solj, 1 июл 2016.

  1. Solj
    Оффлайн

    Solj Осваивается

    Дата регистрации:
    15 дек 2014
    Сообщения:
    128
    Симпатии:
    4
    Пол:
    Мужской
    Род занятий:
    Web Developer
    Собственно есть шаблон примерно такой структуры
    Код:
    <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
    }}
    Тогда в итоговом результате я получу пустую ячейку без контента.

    В идеале мне надо сделать так, что бы эта ячейка не выводилась.
    Подскажите как лучше это сделать.
  2. UksusoFF
    Оффлайн

    UksusoFF Moderator Команда форума

    Дата регистрации:
    13 май 2013
    Сообщения:
    1.541
    Симпатии:
    193
    Пол:
    Мужской
    Адрес:
    Самара
  3. Solj
    Оффлайн

    Solj Осваивается

    Дата регистрации:
    15 дек 2014
    Сообщения:
    128
    Симпатии:
    4
    Пол:
    Мужской
    Род занятий:
    Web Developer
    Хорошо, предположим я загоняю в шаблон оператор условий

    Код:
    <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}}}
  4. UksusoFF
    Оффлайн

    UksusoFF Moderator Команда форума

    Дата регистрации:
    13 май 2013
    Сообщения:
    1.541
    Симпатии:
    193
    Пол:
    Мужской
    Адрес:
    Самара
    В шаблоне Карточка есть пример.
  5. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
    такой шаблон
    Код:
    {{!}}
    с содержимым
    Код:
    |
  6. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
    Код:
    {{#if: {{{desc}}} |
    {{!}}-
    {{!}}colspan="2" {{!}}{{{desc}}}
    }}
    Solj нравится это.
  7. Solj
    Оффлайн

    Solj Осваивается

    Дата регистрации:
    15 дек 2014
    Сообщения:
    128
    Симпатии:
    4
    Пол:
    Мужской
    Род занятий:
    Web Developer
    В общем, у меня ничего не вышло с {{!}}. Поковыряв, подумав, и посмотрев пару шаблонов на wikipedia.org обнаружил что они в шаблонах используют вместо таблиц в формате вики разметки ( {| ) обычные HTML теги

    Конструкция
    Код:
    {{#if: {{{desc}}} |
    <tr>
    <td colspan="2">{{{desc}}}</td>
    </tr>
    }}
    прекрасно работает!
  8. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
    Да, сам всегда html-теги юзаю для таблиц, родная разметка вики немного упоротая ;-)
  9. Wikijournal
    Оффлайн

    Wikijournal Прижился

    Дата регистрации:
    24 сен 2013
    Сообщения:
    561
    Симпатии:
    34
    Пол:
    Мужской
    Да это неудобно. Я чтобы закрывать таблицы и совместить логику с пустыми данными подключал виджеты! замудрил в общем!