PHP では、条件演算子を使用して、問題の要素に適用される属性を html 要素に追加することがよくあります。例えば:
<select name="blah">
<option value="1"<?= $blah == 1 ? ' selected="selected"' : '' ?>>
One
</option>
<option value="2"<?= $blah == 2 ? ' selected="selected"' : '' ?>>
Two
</option>
</select>
テンプレートに Mako を使用して、Pylons でプロジェクトを開始しています。どうすれば同様のことを達成できますか? 現在、理想的ではない 2 つの可能性があると考えています。
解決策 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" : '' ?>
ます。
Mako を使用してこれを実現するクリーンな方法を探しています。