[spip-dev] Problème alignement dans tableau

Salut,

Je tombe sur un comportement étrange: quand une cellule d’un tableau (réalisé avec raccourci SPIP) commence par un lien hypertexte, cette cellule passe en alignement forcé à droite, comme s’il s’agissait d’une cellule numérique.

Voici l’exemple:

{{Acanthe}}|{{Acajou}}|{{Amarante}}| |Almax S.p.A. _ Allied Metals _ Fimalac _ Lalique _ Meura _ Norilsk Nickel _ Osenat _ Pierre Frey _ Galerie Franck Sabet _ Schlumberger _ Sotheby’s|Baccarat _ Monoprix|[Galerie Hopkins-Custot->http://www.hopkins-custot.com] _ [Fondation d’entreprise Hermès->http://www.hermes.com] _ [HSBC->http://www.hsbc.com] _ [Rolex->http://www.rolex.com] _ [Total->http://www.total.com]|

La troisième cellule commence par un lien hypertexte. Toute la cellule s’aligne à droite.

En cause, semble-t-il, la ligne 761 de inc/texte:

if (!preg_match(‹ /[{<]/ ›,$cell[0])) {
if (!preg_match(‹ /^\s*\d+([.,]?)\d*\s*$/ ›, $cell, $r)) {
$align = ‹  ›;
break;
}
else if ($r[1]) $align = $r[1];
}

Si je comprends bien, les tests ne se produisent pas si le premier caractère de la cellule est un chevron ouvrant ou une accolade ouvrante. Si je désactive ce test:
if (!preg_match(‹ /[{<]/ ›,$cell[0]) OR 1==1) {
je retrouve le fonctionnement normal: la cellule qui commence par un lien s’aligne bien à gauche, et les cellules numériques s’alignent bien à droite.

Bref, je ne comprends pas à quoi sert ce test. S’il ne sert à rien, il faut donc le supprimer.

A*

Une cellule réduite à "<" est censée provoquer un rowspan avec la cellule précédente, c'est une vieille fonctionnalité méconnue de SPIP
(de même ^fait un colspan avec au-dessus).
Le test est trop laxiste en acceptant toute cellule commençant par "<", il faudrait effectivement blinder ça pour accepter ton cas,
mais pas faire disparaitre cette fonctionnalité.

Committo,Ergo:Sum

ah, je cherchais tout à l'heure mais ce n'est pas sur la doc de spip.net
Claude

Je viens de le rajouter dans l'aide en ligne à propos des raccourcis.
Mais ce code est à revoir, quand on cumule fusion horizontale et fusion verticale, ça se passe mal.

Committo,Ergo:Sum

merci

Claude

C'est fait par http://trac.rezo.net/trac/spip/changeset/12593

Committo,Ergo:Sum