Modification validation XHTML strict

Archive

Messagepar OleaNet » Ven 20 Fév 2009, 12:52

Bonjour,
Lors d'un test de validation W3C, ce dernier ralait parcequ'il lui manquait un couple de balises "<ul></ul> dans la section "Derniers produits vus".
Éditez le fichier includes/boxes/recently_viewed.php
Code: Tout sélectionner
echo '<div class="boxes"><h4>' . BOX_HEADING_VIEWED_PRODUCTS . '</h4>';

   $col=1;
   $opacity=0;
 foreach ($recent_products as $recent) {  if ((strlen($recent) >0) && ($counter < (MAX_ROWS*MAX_COLS)) && ($rows<MAX_ROWS)) {
    $recent_info = tep_db_query("select  p.products_image from " . TABLE_PRODUCTS . " p where p.products_id = '" . $recent. "'");
   $recent_info_values = tep_db_fetch_array($recent_info);
   echo '<li class="col_' . $col . '" style="opacity:'.(1 - $opacity/10).';"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $recent, 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . $recent_info_values['products_image'], tep_get_products_name($recent),48) . tep_get_products_name($recent) . '</a></li>';
    $col ++;
    $opacity ++;
    if ($col > MAX_COLS) {
           $col = 1;
          }   
    }
     }
echo "</div>";

et remplacer par ceci.
Code: Tout sélectionner
echo '<div class="boxes"><h4>' . BOX_HEADING_VIEWED_PRODUCTS . '</h4>' . "n";
echo "<ul>n";

   $col=1;
   $opacity=0;
  foreach ($recent_products as $recent) {  if ((strlen($recent) >0) && ($counter < (MAX_ROWS*MAX_COLS)) && ($rows<MAX_ROWS)) {
    $recent_info = tep_db_query("select  p.products_image from " . TABLE_PRODUCTS . " p where p.products_id = '" . $recent. "'");
   $recent_info_values = tep_db_fetch_array($recent_info);
   echo "t" . '<li class="col_' . $col . '" style="opacity:'.(1 - $opacity/10).';"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $recent, 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . $recent_info_values['products_image'], tep_get_products_name($recent),48) . tep_get_products_name($recent) . '</a></li>' . "n";
    $col ++;
    $opacity ++;
    if ($col > MAX_COLS) {
           $col = 1;
          }   
    }
     }
echo "</ul>n</div>n";
Dernière édition par OleaNet le Mer 04 Mar 2009, 18:33, édité 1 fois.
OleaNet
 

Messagepar j4k » Ven 20 Fév 2009, 13:03

thx je l'ajoute dans la feuille de route

http://dev.oscss.org/index.php?do=details&task_id=100
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar Ayatus » Mer 25 Fév 2009, 17:15

Bonjour,
Je souhaiterais revenir sur cette modification.
Lorsqu'il n'y a pas de "Derniers produits vus", nous nous retrouvons avec une paire de balise <ul></ul> sans <li></li>, ce qui n'est pas valide.
On peut y remédier ainsi :
Code: Tout sélectionner
echo '<div class="boxes"><h4>' . BOX_HEADING_VIEWED_PRODUCTS . '</h4>';
if (count($recent_products) && strlen($recent_products[0])>0) echo '<ul>';

   $col=1;
   $opacity=0;
  foreach ($recent_products as $recent) {  if ((strlen($recent) >0) && ($counter < (MAX_ROWS*MAX_COLS)) && ($rows<MAX_ROWS)) {
    $recent_info = tep_db_query("select  p.products_image from " . TABLE_PRODUCTS . " p where p.products_id = '" . $recent. "'");
   $recent_info_values = tep_db_fetch_array($recent_info);
   echo '<li class="col_' . $col . '" style="opacity:'.(1 - $opacity/10).';"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $recent, 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . $recent_info_values['products_image'], tep_get_products_name($recent),48) . tep_get_products_name($recent) . '</a></li>';
    $col ++;
    $opacity ++;
    if ($col > MAX_COLS) {
           $col = 1;
          }   
    }
     }
if (count($recent_products) && strlen($recent_products[0])>0) echo '<ul>';
echo "</div>";
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar j4k » Mer 25 Fév 2009, 17:25

bien vu.

on pourrait également masquer le div lorsque la liste est vide :

Code: Tout sélectionner
if (count($recent_products) && strlen($recent_products[0])>0) {
echo '<div class="boxes"><h4>' . BOX_HEADING_VIEWED_PRODUCTS . '</h4>';
echo '<ul>';

   $col=1;
   $opacity=0;
    foreach ($recent_products as $recent) {  if ((strlen($recent) >0) && ($counter < (MAX_ROWS*MAX_COLS)) && ($rows<MAX_ROWS)) {
        $recent_info = tep_db_query("select  p.products_image from " . TABLE_PRODUCTS . " p where p.products_id = '" . $recent. "'");
        $recent_info_values = tep_db_fetch_array($recent_info);
        echo '<li class="col_' . $col . '" style="opacity:'.(1 - $opacity/10).';"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $recent, 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . $recent_info_values['products_image'], tep_get_products_name($recent),48) . tep_get_products_name($recent) . '</a></li>';
        $col ++;
        $opacity ++;
        if ($col > MAX_COLS) {
                $col = 1;
              }       
        }
       }
 echo "</ul></div>";
}
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar Ayatus » Mer 25 Fév 2009, 18:48

Ta solution est plus efficace et élégante que la mienne.
Dans la même veine des validations xhtml, le fichier includes/modules/product_listing.php à partir de la ligne 108 :
Code: Tout sélectionner
<dd class="listingBuy">
    <?php
      echo tep_draw_form('cart_quantity'.$listing['products_id'], tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=add_buy_now'));
      echo tep_draw_hidden_field('products_id', $listing['products_id']);
      echo TEXT_PREFIX_QTY.tep_draw_input_field('products_quantity', 'products_quantity'.$listing['products_id'], '1', 'size="2"');

    ?>
      <input class="submitBt" type="submit" value="<?php echo IMAGE_BUTTON_IN_CART; ?>"  />
      </form>

    </dd>

où l'on rajoute :
Code: Tout sélectionner
<dd class="listingBuy">
    <?php
      echo tep_draw_form('cart_quantity'.$listing['products_id'], tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=add_buy_now'));
 ?>
    <p>
 <?php
   echo tep_draw_hidden_field('products_id', $listing['products_id']);
      echo TEXT_PREFIX_QTY.tep_draw_input_field('products_quantity', 'products_quantity'.$listing['products_id'], '1', 'size="2"');

    ?>
      <input class="submitBt" type="submit" value="<?php echo IMAGE_BUTTON_IN_CART; ?>"  />
   </p>
      </form>

    </dd>
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar j4k » Mer 25 Fév 2009, 19:48

merci je modifie ça pour la 1.2.2

si vous en repérez d'autre, n'hésitez pas à les remonter dans ce post (je ne te vouvoie pas, je parles à tout ceux qui liront ce message ;)
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar Ayatus » Mar 03 Mar 2009, 18:18

Bonjour,
Un espace oublié dans les fichiers includes/content/checkout_payment_address.php ligne 91, checkout_shipping_address.php ligne 95 et privacy.php ligne 26.
Code: Tout sélectionner
<?php echo '<a class="navBt"href="'

à remplacer par :
Code: Tout sélectionner
<?php echo '<a class="navBt" href="'

La déclaration xmlns dans template/osCSS/template.php :
Code: Tout sélectionner
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >

à remplacer par :
Code: Tout sélectionner
<html xmlns="http://www.w3.org/1999/xhtml" <?php echo HTML_PARAMS; ?> >

Toujours dans le template osCSS, à la fin du fichier template.php dans chaque dossier de langue, une balise </a> manquante :
Code: Tout sélectionner
<a href="http://jigsaw.w3.org/css-validator/check/referer" title="validate css">CSS 2.1.</li></ul>');

à remplacer par :
Code: Tout sélectionner
<a href="http://jigsaw.w3.org/css-validator/check/referer" title="validate css">CSS 2.1</a>.</li></ul>');

Pour finir un conflit d'id dans le fichier includes/content/login.php
ligne 19
Code: Tout sélectionner
<div id="login">

en conflit avec : ligne 42
Code: Tout sélectionner
<?php echo tep_draw_form('login',

Cet id n'étant utilisé dans aucunes feuilles de style, on est donc libre de renommer la div: ex <div id="loginform">
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar j4k » Mar 03 Mar 2009, 18:57

Merci ceci est à présent corrigé sur le serveur svn
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar Ayatus » Mar 03 Mar 2009, 19:55

Deux autres modifications.
Ajout de balise <p> dans le fichier includes/content/checkout_shipping.php ligne 23 :
Code: Tout sélectionner
<?php echo tep_draw_form('checkout_address', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) . tep_draw_hidden_field('action', 'process'); ?>

à remplacer par :
Code: Tout sélectionner
<?php echo tep_draw_form('checkout_address', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) . '<p>' . tep_draw_hidden_field('action', 'process') . '</p>'; ?>

Modification du commentaire javascript dans includes/content/shopping_cart.php ligne 26 :
Code: Tout sélectionner
<script type="text/javascript">
<!--//

qui rentre en conflit ligne 44 et 70 :
Code: Tout sélectionner
cartidcorrection--;

que l'on remplace par
Code: Tout sélectionner
<script type="text/javascript">
<!--/*--><![CDATA[//><!--

et ligne 94 :
Code: Tout sélectionner
//--><!]]>

Pour le choix du code, je te renvoi sur La section CDATA en Xml
J'ai fait une autre proposition de modification http://forums.oscss.org/viewtopic.php?pid=6925#p6925, j'ignore si tu la visée.
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar j4k » Mar 03 Mar 2009, 20:54

fixed ! :)
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar Ayatus » Mer 04 Mar 2009, 19:18

Nouvelles modifications dans les fichiers includes/content/address_book_process.php ligne 42, includes/content/checkout_payment_address.php ligne 25, les attributs doivent être écrit en minuscule (onSubmit => onsubmit).
Toujours dans le fichier "address_book_process.php" ligne 62 à 67, les balise <p></p> pose un problème avec le <fieldset>:
Code: Tout sélectionner
<?php
} else {
?>
<p><?php include(DIR_WS_MODULES . 'address_book_details.php'); ?></p>

à remplacer par :
Code: Tout sélectionner
<?php
} else {
include(DIR_WS_MODULES . 'address_book_details.php');
?>

Dans le fichier includes/modules/address_book_details.php ligne 25 :
Code: Tout sélectionner
<legend><?php echo NEW_ADDRESS_TITLE; ?></h2>

à remplacer par :
Code: Tout sélectionner
<legend><?php echo NEW_ADDRESS_TITLE; ?></legend>

Puis ligne 110 :
Code: Tout sélectionner
if (tep_not_null(ENTRY_STATE_TEXT)) echo '&nbsp;<span class="notice">' . ENTRY_STATE_TEXT;

à remplacer par :
Code: Tout sélectionner
if (tep_not_null(ENTRY_STATE_TEXT)) echo '&nbsp;<span class="notice">' . ENTRY_STATE_TEXT . '</span>';

Dans le fichier includes/modules/product_reviews.php ligne 78, une id ne doit pas être commencé par un chiffre (ex. tep_draw_radio_field('rating', '1', '1') => tep_draw_radio_field('rating', 'rank1', '1')). Cet id n'étant pas exploitée, son renommage est libre.

Pour finir, à la révision 351 le fichier seo.class.php a subit une régression ligne 326. Ce dernier a été enregistré au format utf8 sans bom, les caractères accentués ont sauté.
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar j4k » Mer 04 Mar 2009, 21:39

ok bien vu (mais comment fait-il? !!)

je pense que tu fais ces recherche sur la version svn (concernant le fichier seo je l'ai comit hier !)

encore merci pour ces correctif très précieux
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar Ayatus » Jeu 05 Mar 2009, 19:39

Bonjour,
Toujours dans le cadre de la validation XHTML, je me suis amusé à dénombrer les balises <br>, <u> et <font> à l'exclusion des dossiers admin/ et install/ et du fichier includes/content/product_info.php.
Voici les résultats :
Search "<br>" (315 hits in 79 files)
Search "<u>" (47 hits in 17 files)
Search "<font" (34 hits in 22 files)
Ces dernières sont toutes de type <font color="#ff0000"> à l'exclusion des fichiers includes/languages/english.php, /espanol.php, /french.php et german.php qui sont de type :
<font face="Verdana, Arial" size="2" color="#ff0000">
Deux class pourraient convenir :
templates/osCSS/sample.css Line 66 :
.warning,.messageStackError {border:1px solid red;padding:1em;margin:2em;}
templates/generic/css/general.css Line 112, templates/clean/css/general.css Line 105 :
.notice { color:#ff0000; font-weight:bold; }

Pour revenir sur SEO dans le fichier admin/includes/reset_seo_cache.php :
Code: Tout sélectionner
tep_db_query("DELETE FROM cache WHERE cache_name LIKE '%seo_urls%'");

à remplacer par :
Code: Tout sélectionner
tep_db_query("DELETE FROM ".TABLE_SEO_CACHE." WHERE cache_name LIKE '%seo_urls%'");

Pour finir avec osCMS dans le fichier admin/includes/general.js ligne 209 :
Code: Tout sélectionner
new ypSlideOutMenu("menu7", "down", 637, 136, 180, 880)

à remplacer par :
Code: Tout sélectionner
new ypSlideOutMenu("menu7", "down", 637, 136, 180, 100)

ps : Je vous prie de m'excuser pour m'être écarté du sujet.
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar cynic- » Lun 09 Mar 2009, 13:09

Excellent merci pour ces modifications, notamment les <font> que je m'amuse à chasser à chaque fois (en les remplaçant par une classe css adaptée justement)
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar Ayatus » Lun 09 Mar 2009, 19:43

SEO et CMS fixed ! :P
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar cynic- » Lun 09 Mar 2009, 20:34

A propos, dans le dossier admin, ce code est inutile, il crée un gros vide sur les pages :

Code: Tout sélectionner
<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

Ca se passe dans les fichiers php de la racine comme
- mail.php
- server_info.php
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar j4k » Lun 09 Mar 2009, 22:29

oui il y a un gros travail de nettoyage dans l'admin à faire encore.

ça va venir ;)
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar Ayatus » Mar 10 Mar 2009, 13:29

Dans le fichier includes/fonctions/cms.php ligne 91 :
Code: Tout sélectionner
echo '<li><a href="content.php?content=' . $content['content_id'] . '&language=' . $display_lang['code'] . '">'.$content['title'].'</a></li>';

remplacer par :
Code: Tout sélectionner
echo '<li><a href="content.php?content=' . $content['content_id'] . '&amp;language=' . $display_lang['code'] . '">'.$content['title'].'</a></li>';

Ce qui réglera l'un des problèmes de formatage d'url
Dans la table osc_content_description on retrouve ce même problème de & :
Expédition & retours <p>Insérer ici vos informations expédition & r...

Fixed ! :P
Dernière édition par Ayatus le Mar 10 Mar 2009, 18:47, édité 1 fois.
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Messagepar cynic- » Jeu 12 Mar 2009, 17:30

Egalement dans catalog/includes/functions/banner.php un souci vers la ligne 92 empêche la validation, il s'agit de l'id de la bannière qui génère un code " &goto=3 "

"validateur w3c" a écrit:cannot generate system identifier for general entity "goto".
Dernière édition par cynic- le Jeu 12 Mar 2009, 21:17, édité 1 fois.
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar Ayatus » Ven 13 Mar 2009, 12:09

Après quelques tests, il semblerait que ce soit SEO qui en est la cause.
Avatar de l’utilisateur
Ayatus
Site Admin
 
Messages: 280
Inscription: Sam 19 Avr 2008, 17:23

Suivante

Retourner vers osCSS 1.2.1

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: bingbot [Bot] et 1 invité

cron