Exemples 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é.

Décalage sur la droite en rapport avec la position dans la liste
----------------------------------------------------------------

.. raw:: latex

   \begin{figure}[H]
      \begin{center}
         \includegraphics[totalheight=0.3\textheight]{guide-utilisateur/templates/tal-example-1.png}
      \end{center}
      \caption{\footnotesize Example de template : Décalage sur la
	  droite en rapport avec la position dans la liste}
   \end{figure}


::

	<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>

La méthode ``first()`` dans une boucle ``repeat``
-------------------------------------------------

.. raw:: latex

   \begin{figure}[H]
      \begin{center}
         \includegraphics[totalheight=0.3\textheight]{guide-utilisateur/templates/tal-example-2.png}
      \end{center}
      \caption{\footnotesize Example de template : La méthode
	  first() dans une boucle repeat}
   \end{figure}


::

	<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>

