validation xhtml et filtre alterner

Sur un spip 192d, j'utilise le filtre alterner pour faire un tableau qui présente des photos sur 3 colonnes.
Un truc du genre

<table>
    <BOUCLE_les_articles(ARTICLES){id_rubrique} >
        [(#COMPTEUR_BOUCLE|alterner{'<tr>','',''})]
            <td width="33%">
                affichage des photos
            </td>
        [(#COMPTEUR_BOUCLE|alterner{'','','</tr>'})]
    </BOUCLE_les_articles>
</table>

ça fonctionne parfaitement sauf que s'il y a moins de 3 images, la boucle ne tourne pas assez pour arriver au </tr> de fermeture.

Si ça ne pose pas de problème à l'affichage, le validateur w3c me jette et on le comprend.

Une idée de comment remédier au problème ?

Bonjour,

Jean-Christophe Villeneuve a écrit :

Sur un spip 192d, j'utilise le filtre alterner pour faire un tableau qui présente des photos sur 3 colonnes.
Un truc du genre

<table>
   <BOUCLE_les_articles(ARTICLES){id_rubrique} >
       [(#COMPTEUR_BOUCLE|alterner{'<tr>','',''})]
           <td width="33%">
               affichage des photos
           </td>
       [(#COMPTEUR_BOUCLE|alterner{'','','</tr>'})]
   </BOUCLE_les_articles>
</table>

ça fonctionne parfaitement sauf que s'il y a moins de 3 images, la boucle ne tourne pas assez pour arriver au </tr> de fermeture.

Si ça ne pose pas de problème à l'affichage, le validateur w3c me jette et on le comprend.

Une idée de comment remédier au problème ?

Un petite: Afficher des éléments par lignes dans un tableau - SPIP porte comme titre "Afficher des éléments par lignes dans un tableau" et précise:
«~Si l’on veut un code HTML irréprochable, il faut produire une séquence de <td></td> après la boucle pour compléter la dernière ligne du tableau lorsque le nombre total d’articles n’est pas divisible par 3. Il suffit à nouveau d’utiliser le filtre alterner, mais appliqué cette fois à la balise #TOTAL_BOUCLE.~»

:wink:

--
hth,
FM

Frédéric Moinard a écrit :

Bonjour,

Jean-Christophe Villeneuve a écrit :

Sur un spip 192d, j'utilise le filtre alterner pour faire un tableau qui présente des photos sur 3 colonnes.
Un truc du genre

<table>
<BOUCLE_les_articles(ARTICLES){id_rubrique} >
[(#COMPTEUR_BOUCLE|alterner{'<tr>','',''})]
<td width="33%">
affichage des photos
</td>
[(#COMPTEUR_BOUCLE|alterner{'','','</tr>'})]
</BOUCLE_les_articles>
</table>

ça fonctionne parfaitement sauf que s'il y a moins de 3 images, la boucle ne tourne pas assez pour arriver au </tr> de fermeture.

Si ça ne pose pas de problème à l'affichage, le validateur w3c me jette et on le comprend.

Une idée de comment remédier au problème ?

Un petite: Afficher des éléments par lignes dans un tableau - SPIP porte comme titre "Afficher des éléments par lignes dans un tableau" et précise:
«~Si l’on veut un code HTML irréprochable, il faut produire une séquence de <td></td> après la boucle pour compléter la dernière ligne du tableau lorsque le nombre total d’articles n’est pas divisible par 3. Il suffit à nouveau d’utiliser le filtre alterner, mais appliqué cette fois à la balise #TOTAL_BOUCLE.~»

:wink:

Ah oui, je l'avais zappée, cette partie de l'article
Merci beaucoup !