В PHP я часто использую условный оператор для добавления атрибута в элемент html, если он применяется к рассматриваемому элементу. Например:
<select name="blah">
<option value="1"<?= $blah == 1 ? ' selected="selected"' : '' ?>>
One
</option>
<option value="2"<?= $blah == 2 ? ' selected="selected"' : '' ?>>
Two
</option>
</select>
Я начинаю проект с Pylons, используя Мако для шаблонов. Как мне добиться чего-то похожего? Прямо сейчас я вижу две возможности, которые не идеальны.
Решение 1:
<select name="blah">
% if blah == 1:
<option value="1" selected="selected">One</option>
% else:
<option value="1">One</option>
% endif
% if blah == 2:
<option value="2" selected="selected">Two</option>
% else:
<option value="2">Two</option>
% endif
</select>
Решение 2:
<select name="blah">
<option value="1"
% if blah == 1:
selected="selected"
% endif
>One</option>
<option value="2"
% if blah == 2:
selected="selected"
% endif
>Two</option>
</select>
В данном конкретном случае значение равно проверенной переменной (value = "1" => blah == 1), но я использую тот же шаблон в других ситуациях, например <?= isset($variable) ? ' value="$variable" : '' ?>
.
Я ищу чистый способ добиться этого с помощью Мако.