- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Aiuto validazione sito!!!
-
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!!!
**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
}
?>
-
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..
-
Si ho provato ma a livello estetico è un disastro non ci sono altre soluzioni ?
forse è meglio provare a rifare tutto il layout da capo ?