0

Chameleonでテンプレートエンジンの練習をしていBootstrapます。現在使用しているレイアウトはFluid layout.

このレイアウトのリスト部分では、次のような構造を使用しています

<div class="row-fluid">
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
</div>
<div class="row-fluid">
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
</div>

それぞれrow-fluid divに正確に 3 が含まれますspan4 div

tal:repeatinChameleonは、リスト内のすべての要素を繰り返します。リストに6つの要素がある場合、生成されます

<div class="row-fluid">
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
</div>

ただし、これにより以前のレイアウトが台無しになります。

でのみタスクを実行する方法はありますChameleonか?

4

1 に答える 1

1

問題は基本的に、リストを均等なサイズのチャンクに分割し、 2 つのネストされたループを使用して「マスター」リストとその「サブリスト」を反復処理することです。

完全にテストされていないため、次のようなものが良い出発点になると思います。

<div class="row-fluid" tal:repeat="chunk [l[i*3:(i*3)+3] for i in range((len(l) // 3) + 1) ]">
    <div class="span4" tal:repeat="item chunk"><tal:item replace="item" /></div>
</div>
于 2015-07-31T12:36:45.293 に答える