Dans le fichier include/functions_html.inc.php, dans la fonction get_icon il faut changer la deuxième ligne de output:
Avant:
$output = '<img title="'.$title.'" src="'.$icon_url.'" style="border:0;'; $output.= 'height:'.$size[1].'px;width:'.$size[0].'px" alt=""/>';
Après:
$output = '<img title="'.$title.'" src="'.$icon_url.'" style="border:0;'; $output.= 'height:'.$size[1].'px;width:'.$size[0].'px" alt="">';
Hors ligne
Est-ce que la norme HTML 4.01 dit clairement qu'il ne faut pas fermer les balises sans contenu ? Si oui, alors je vire l'autofermeture, sinon, je la laisse car elle n'empêchera pas la création d'un template en XHTML.
Hors ligne
z0rglub a écrit:
Est-ce que la norme HTML 4.01 dit clairement qu'il ne faut pas fermer les balises sans contenu ? Si oui, alors je vire l'autofermeture, sinon, je la laisse car elle n'empêchera pas la création d'un template en XHTML.
Je n'ai pas vu quoi que ce soit disant que les balises sans contenu ne devaient pas être fermées. Le validateur ne se plaint pas. Je comprends la problématique de pourvoir générer du html ou du xhtml. Je ne pensais que c'était volontaire; je pensais que c'était un oubli lors du passage de xhtml vers html 4.01 strict.
En revanche, j'ai trouvé un autre soucis: lorsqu'on a des catégories de deuxième niveau la liste n'est pas générée correctement.
(J'ai supprimé les liens dans un soucis de lisibilité)
Ce qui est généré:
<dl> <dt>Catégories</dt> <dd> <ul> <li>cat 1</li> <li>cat 2</li> <ul> <li>cat 2.1</li> <li>cat 2.2</li> </ul> </ul> </dd> </dl>
Ce qui devrait être généré:
<dl> <dt>Catégories</dt> <dd> <ul> <li>cat 1</li> <li>cat 2 <ul> <li>cat 2.1</li> <li>cat 2.2</li> </ul> </li> </ul> </dd> </dl>
J'avais fait un patch dans la version 1.4.1; je regarde si je peux encore l'appliquer.
Hors ligne
z0rglub a écrit:
Merci, je viens de corriger ce problème. Il sera livré en 1.5.0RC2 :-)
Juste par curiosité tu l'as corrigé comment ?
Hors ligne
nicolas a écrit:
z0rglub a écrit:
Merci, je viens de corriger ce problème. Il sera livré en 1.5.0RC2 :-)
Juste par curiosité tu l'as corrigé comment ?
/** * returns the HTML code for a category item in the menu (for category.php) * * HTML code generated uses logical list tags ul and each category is an * item li. The paramter given is the category informations as an array, * used keys are : id, name, nb_images, date_last * * @param array categories * @return string */ function get_html_menu_category($categories) { global $page, $lang; $ref_level = 0; $menu = ''; foreach ($categories as $category) { $level = substr_count($category['global_rank'], '.') + 1; if ($level > $ref_level) { $menu.= ' <ul>'; } else if ($level == $ref_level) { $menu.= ' </li>'; } else if ($level < $ref_level) { // we may have to close more than one level at the same time... $menu.= str_repeat("\n</ul>",($ref_level-$level)); $menu.= "\n</li>"; } $ref_level = $level; $menu.= ' <li'; if (isset($page['cat']) and is_numeric($page['cat']) and $category['id'] == $page['cat']) { $menu.= ' class="selected"'; } $menu.= '>'; $url = add_session_id(PHPWG_ROOT_PATH.'category.php?cat='.$category['id']); $menu.= ' <a href="'.$url.'">'.$category['name'].'</a>'; if ($category['nb_images'] > 0) { $menu.= ' <span class="menuInfoCat"'; $menu.= ' title="'.$category['nb_images']; $menu.= ' '.$lang['images_available'].'">'; $menu.= '['.$category['nb_images'].']'; $menu.= '</span>'; $menu.= get_icon($category['date_last']); } } $menu.= '</li> </ul>'; return $menu; }
Hors ligne