Glasnost

Bouts de templates

Cet article présente quelques utilisations concrètes (?) des templates.

Les lignes sont parfois coupées au milieu d'un attribut. C'est uniquement pour la mise en page, une telle pratique n'est pas permise dans la réalité.


Ce code provoque un décalage sur la droite en rapport avec la position dans la liste.

Exemple de résultat: Jouons avec les templates (exposant)

<style type="text/css">
a {
    position: relative;
    display:block;
}
</style>

<div tal:define="r GlasnostObject('glasnost://entrouvert/rubrics/4')"
     tal:repeat="r2 r.membersSet" tal:omit-tag="">

  <a tal:attributes="style 'left: %dpx' % (repeat_r2.index**2.7);
                     href r2.url()"
     tal:content="r2.label">sd</a>
</div>

Ce code montre l'utilisation de la méthode first() dans une boucle repeat.

Exemple de résultat: Tableau articles par mois

<table tal:define="r python: GlasnostObject(
                             'glasnost://entrouvert/rubrics/2')">

  <div tal:repeat="a2 getSetContainedObjects(r.membersSet,
                      ['articles'], sortOn='modificationTime')"
       tal:omit-tag="">
                
    <tr tal:condition="repeat_a2.first(
                              'item.modificationTime.yearMonth')"
        class="trSep">
      <td colspan="2"
          tal:content="a2.modificationTime.yearMonth">blah</td>
    </tr>
    <tr>
       <td tal:content="a2.modificationTime">modtime</td>
       <td tal:content="a2.label">label</td>
    </tr>
</div>
</table>