dcBlogmark, PHP et quelques surprises du validator W3C

dimanche 31 octobre 2004 :: perrick :: Développement :: 3 commentaires :: aucun trackback

De temps en temps, envoyer un page au Validator du W3C permet de se faire une petite piqûre de rappel sur ses propres pratiques. Quel ne fut pas ma surprise de découvrir aujourd'hui que ma page principale n'était plus valide : presque une quinzaine d'erreurs, ça fait beaucoup. Remarque : vous pouvez consulter pendant quelques jours encore ces belles erreurs via la version dans le cache de Google.

Parmi les erreurs faciles à corriger les & à traduire en & : j'en avais deux (dans le titre et dans un billet). Et tout plein de syntax of attribute value does not conform to declared value à propos de mes hreflang. Réflexions faites, c'est le code proposé par JMF pour son très utile dcBlogmark qui pose soucis. Heureusement c'est assez facile à corriger. Dans le template dotClear, il suffit de remplacer :
while(!dcBlogmark::eof()){
  echo '<li><a href="' . dcBlogmark::get('url') . '" title="'
    . dcBlogmark::get('title') . '" hreflang="' . dcBlogmark::get('language') . '">'
    . dcBlogmark::get('title', 20) . '</a></li>';
  dcBlogmark::moveNext();
}

par
while(!dcBlogmark::eof()){
  $dcBlogmark_hreflang = '';
  if (dcBlogmark::get('language')) {
        $dcBlogmark_hreflang = ' hreflang="' . dcBlogmark::get('language') . '"';
  }
  echo '<li><a href="' . dcBlogmark::get('url') . '" title="'
    . dcBlogmark::get('title') .'"'.$dcBlogmark_hreflang. '>'
    . dcBlogmark::get('title', 20) . '</a></li>';
  dcBlogmark::moveNext();
}

Et voilà : plus d'erreurs... en attendant les prochaines ;-)