• User

    Aiuto validazione sito!!!

    aiuto qualcuno di voi può aiutarmi ?

    ho un errore e non riesco a validarlo...

    l'url è questo: flooringonweb.it (errori 1) e flooringonweb.it/parquet-parquet-laminato-c-41_37.html (errori 2)

    che poi sono sempre gli stessi!!! :arrabbiato:

    **Validation Output: 2 Errors **

    • Line 262, Column 43: document type does not allow element "TD" here; assuming missing "TR" start-tag . <td width=228 valign=top class=ch6**>**
    • Line 308, Column 43: document type does not allow element "TD" here; assuming missing "TR" start-tag . <td width=228 valign=top class=ch6**>**<?php
      /*
      $Id: product_listing.php,v 1.44 2003/06/09 22:49:59 hpdl Exp $
      osCommerce, Open Source E-Commerce Solutions

    Copyright (c) 2003 osCommerce
    Released under the GNU General Public License
    */
    $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');
    if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {
    ?>
    <table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
    <td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>
    </tr>
    </table>
    <?php
    }
    $list_box_contents = array();
    for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
    switch ($column_list[$col]) {
    case 'PRODUCT_LIST_MODEL':
    $lc_text = TABLE_HEADING_MODEL;
    $lc_align = '';
    break;
    case 'PRODUCT_LIST_NAME':
    $lc_text = TABLE_HEADING_PRODUCTS;
    $lc_align = '';
    break;
    case 'PRODUCT_LIST_MANUFACTURER':
    $lc_text = TABLE_HEADING_MANUFACTURER;
    $lc_align = '';
    break;
    case 'PRODUCT_LIST_PRICE':
    $lc_text = TABLE_HEADING_PRICE;
    $lc_align = 'right';
    break;
    case 'PRODUCT_LIST_QUANTITY':
    $lc_text = TABLE_HEADING_QUANTITY;
    $lc_align = 'right';
    break;
    case 'PRODUCT_LIST_WEIGHT':
    $lc_text = TABLE_HEADING_WEIGHT;
    $lc_align = 'right';
    break;
    case 'PRODUCT_LIST_IMAGE':
    $lc_text = TABLE_HEADING_IMAGE;
    $lc_align = 'center';
    break;
    case 'PRODUCT_LIST_BUY_NOW':
    $lc_text = TABLE_HEADING_BUY_NOW;
    $lc_align = 'center';
    break;
    }
    if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) {
    $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text);
    }
    $list_box_contents[0][] = array('align' => $lc_align,
    'params' => 'class="productListing-heading"',
    'text' => ' ' . $lc_text . ' ');
    }
    if ($listing_split->number_of_rows > 0) {
    $rows = 0;
    $column = 0;
    echo '
    <table cellspacing=0 cellpadding=0 width=473>
    <tr><td style="padding-right: 4px">
    <table cellspacing=0 cellpadding=0 width=456 align=right>
    <tr><td colspan=3 height=30><span style="padding-left: 16px"></span><span class=ch3>Categorie / '.$breadcrumb->trail(' » ').'</span></td></tr>
    <tr><td colspan=3 bgcolor=195781 height=2></td></tr>
    <tr><td height=4></td></tr>
    <tr>

    ';
    $listing_query = tep_db_query($listing_split->sql_query);
    while ($listing = tep_db_fetch_array($listing_query)) {
    $product_contents = array();
    $rows++;
    if (($rows/2) == floor($rows/2)) {
    $list_box_contents[] = array('params' => 'class="productListing-even"');
    } else {
    $list_box_contents[] = array('params' => 'class="productListing-odd"');
    }
    $cur_row = sizeof($list_box_contents) - 1;
    for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
    $lc_align = '';
    switch ($column_list[$col]) {
    case 'PRODUCT_LIST_MODEL':
    $lc_align = '';
    $lc_text = ' ' . $listing['products_model'] . ' ';
    break;
    case 'PRODUCT_LIST_NAME':
    $lc_align = '';
    if (isset($HTTP_GET_VARS['manufacturers_id'])) {
    $lc_text = '<a class="pr_name" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>';
    } else {
    $lc_text = '<a class="pr_name" href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>';
    }
    break;
    case 'PRODUCT_LIST_MANUFACTURER':
    $lc_align = '';
    $lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a> ';
    break;
    case 'PRODUCT_LIST_PRICE':
    $lc_align = 'right';
    if (tep_not_null($listing['specials_new_products_price'])) {
    $lc_text = '<span class="pr_price" style="padding-right:0px; color:7F7F7F;font-size:11px"><s>'. $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s></span>  <span class="pr_price">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span>';
    } else {
    $lc_text = '<span class="pr_price">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span>';
    }
    break;
    case 'PRODUCT_LIST_QUANTITY':
    $lc_align = 'right';
    $lc_text = ' ' . $listing['products_quantity'] . ' ';
    break;
    case 'PRODUCT_LIST_WEIGHT':
    $lc_align = 'right';
    $lc_text = ' ' . $listing['products_weight'] . ' ';
    break;
    case 'PRODUCT_LIST_IMAGE':
    $lc_align = 'center';
    if (isset($HTTP_GET_VARS['manufacturers_id'])) {
    $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>';
    } else {
    $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>';
    }
    break;
    case 'PRODUCT_LIST_BUY_NOW':
    $lc_align = 'center';
    $lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';
    break;
    }
    $list_box_contents[$cur_row][] = array('align' => $lc_align,
    'params' => 'class="productListing-data"',
    'text' => $lc_text);
    $product_contents[] = $lc_text;
    }
    //Search Tag Cloud v.1.0 by kiffen.ch
    if (($_GET['keywords'] != '')) {
    $search_count = tep_db_query("select search, freq from customers_searches where search = '". $_GET['keywords'] . "' and language_id='". $languages_id . "'");
    if (!tep_db_num_rows($search_count)) {
    tep_db_query("insert into customers_searches (search, freq, language_id) values ('". $_GET['keywords'] ."',1," .$languages_id." )");
    } else {
    $search_val = tep_db_fetch_array($search_count);
    tep_db_query("update customers_searches set freq = " . ($search_val['freq']+1) . " where search = '". $_GET['keywords'] . "' and language_id='". $languages_id . "'");
    }
    }
    $product_query = tep_db_query("select products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$listing['products_id'] . "' and language_id = '" . (int)$languages_id . "'");
    $product = tep_db_fetch_array($product_query);
    $new_products['products_description'] = $product['products_description'];
    // get products category
    $categories_query = tep_db_query("select categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$listing['products_id'] . "'");
    if (tep_db_num_rows($categories_query) > 0) {
    $categories = tep_db_fetch_array($categories_query);
    $categories_query2 = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$categories['categories_id'] . "'");
    $categories2 = tep_db_fetch_array($categories_query2);
    $category_name = $categories2['categories_name'];
    } else {
    $category_name = '';
    }

    echo '
    <td width=228 valign=top class=ch6>
    <table cellspacing=0 cellpadding=0 width=210 align=right>
    <tr><td height=20></td></tr>
    <tr><td width=129 valign=top>
    <table cellspacing=0 cellpadding=0>
    <tr><td height=45 valign=middle>'.$product_contents[1].'</td></tr>
    <tr><td height=35 valign=top>'.preg_replace('/\s\S*$/i', '', substr($new_products['products_description'], 0, 50)).' ...</td></tr>
    <tr><td height=4></td></tr>
    <tr><td class=ch8 height=35 valign=middle>'.$product_contents[2].'</td></tr>
    <tr><td><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_in_cart.gif') . '</a></td></tr>
    <tr><td height=10></td></tr>
    </table>
    </td>
    <td width=81 align=center valign=top style="padding-top: 36px">'.$product_contents[0].'</td>
    </tr>
    <tr><td height=3></td></tr>
    </table>
    </td>
    ';
    $column ++;
    if ($column >= 2) {
    $rows ++;
    $column = 0;
    echo '
    </tr>
    <tr><td colspan=2 bgcolor=B2B2B2 height=1></td></tr>

    ';
    } else echo '';

    }
    echo '

    </table>
    </td></tr>
    <tr><td height=10></td></tr>
    </table>
    ';
    //new productListingBox($list_box_contents);
    } else {
    $list_box_contents = array();
    $list_box_contents[0] = array('params' => 'class="productListing-odd"');
    $list_box_contents[0][] = array('params' => 'class="productListing-data"',
    'text' => TEXT_NO_PRODUCTS);
    echo '<div class=PageHeading>Categories</div>';
    new productListingBox($list_box_contents);
    }
    if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) {
    ?>

    <table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr><td height=2></td></tr>
    <tr>
    <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
    <td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>
    </tr>
    </table>

    <?php
    }
    ?>


  • User Attivo

    Ciao xfabietto,
    tralasciando che il codice html di oscommerce è un macello, devi marcare la riga <TR> prima di una cella <TD> di una tabella e poi di conseguenza chiudere i tag con lo stesso ordine.

    es:
    [html]<td width=228 valign=top class=ch6>[/html]diventa
    [html]<tr><td width=228 valign=top class=ch6>[/html]che poi a livello estetico sia la stessa cosa, è un' altra storia..


  • User

    Si ho provato ma a livello estetico è un disastro non ci sono altre soluzioni ?

    forse è meglio provare a rifare tutto il layout da capo ? :arrabbiato: