私は自分自身が次のスタイルのテンプレートスニペットで終わることに気づきました:
<ul>
{% for item in items %}
<li><a class="{% if item.active %}active{% endif %}" title="{{ item.title }}" href="{{ item.get_absolute_url }}"><img src="{% thumbnail item.image 24x24 crop upscale %}" />{{ item.title|truncate_chars:30 }}</a></li>
{% endfor %}
</ul>
しばらく前、aiはHTML出力用の優れたヘルパーを備えたPHPフレームワークを使用する必要がありました。これは実際のテンプレートレイヤー(むしろプレーンなPHP)ではないため、直接比較できないことを私は知っていますが、アイデアのために:
<ul>
<?php foreach($items as $item) { ?>
<li><?= HTML::anchor($item->url(), HTML::mage($item->image->url(24)), Text::limit($item->title, 30), array('title' => $item->title, 'class' => ($item->active) ? 'active' : '') ?></li>
<?php } ?>
</ul>
HTMLタグの開始/終了を処理したり、 = 'や" 'を含む属性を記述したりする必要がないアプローチがとても気に入りました。
好き:
<?= HTML::anchor($url, $title, array('class' => $class)) ?>
次のようにレンダリングされます:
<a href="http://url.my/" class="my-class">My Title</a>
この種のテンプレートをどのように処理しますか?この状況に対処するいくつかのgoottemplatetag-librariesを知っていますか?django-templatesでそれはまったく可能ですか、それともそれらのロジックは異なるパス/概念に従いますか?