Ciao a tutti ho istallato la seguente contributions: related_products_3_3 e devo dire che è molto utile e funzionale.
Soltanto ho un problema, ogni "articolo correlato" che inserisco, mi viene messo uno dietro l'altro.
Mi spiego meglio...
Se ad esempio inserisco 7 articoli, mi vengono visualizzati sul mio oscommerce su un unica fila anzichè andarmi a capo ad al 4 articolo e gli altri 3 rimanenti visualizzarli sotto.
qui di seguito ho riportato il codice che ho all'interno della mia product_info.php
Come faccio a risolvere il problema mettendo gli articoli su ogni riga soltanto 4 articoli?
Grazie mille
<?php
// DANIEL: begin - show related products
$orderBy = '';
if (RELATED_PRODUCTS_RANDOMIZE == 'True') {$orderBy .= 'order by rand()';} else {$orderBy .= 'order by pop_order_id, pop_id';}
if (RELATED_PRODUCTS_MAX_DISP > 0) $orderBy .= ' limit ' . RELATED_PRODUCTS_MAX_DISP;
$attributes = "select pop_products_id_slave, products_name, products_price, products_tax_class_id, products_image from " . TABLE_PRODUCTS_OPTIONS_PRODUCTS . ", " . TABLE_PRODUCTS_DESCRIPTION . " pa, ". TABLE_PRODUCTS . " pb WHERE pop_products_id_slave = pa.products_id and pa.products_id = pb.products_id and language_id = '" . (int)$languages_id . "' and pop_products_id_master = '".$HTTP_GET_VARS['products_id']."' and products_status='1' " . $orderBy;
$attribute_query = tep_db_query($attributes);
if (mysql_num_rows($attribute_query)>0) {
$count = 0;
echo '<tr><td><table cellspacing=0 cellpadding=0 width=437 align=center border="0">';
echo '<tr><td background=images/m22.gif width=437 height=29 valign=center><span class=ch6> '.TEXT_RELATED_PRODUCTS.' </span></td></tr><tr><td align="center" class="ch1">';
echo '<table border="0" cellspacing="0" cellpadding="2" width="100%" align="center"><tr>';
while ($attributes_values = tep_db_fetch_array($attribute_query)) {
$products_name_slave = ($attributes_values['products_name']);
$products_id_slave = ($attributes_values['pop_products_id_slave']);
if ($new_price = tep_get_products_special_price($products_id_slave)) {
$products_price_slave = $currencies->display_price($new_price, tep_get_tax_rate($attributes_values['products_tax_class_id']));
} else {
$products_price_slave = $currencies->display_price($attributes_values['products_price'], tep_get_tax_rate($attributes_values['products_tax_class_id']));
}
// show thumb image if Enabled
echo '<td class="productListing-data" align="center">';
if (MODULE_RELATED_PRODUCTS_SHOW_THUMBS != 'True') {
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_id_slave) . '">' . tep_image(DIR_WS_IMAGES . $attributes_values['products_image'], $attributes_values['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"').'</a>';
}
echo '<br> <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_id_slave) . '">'.$products_name_slave.'<br><b>'.$products_price_slave.'</b></a>';
echo '</td>';
$count++;
if ((RELATED_PRODUCTS_USE_ROWS == 'True') && ($count%RELATED_PRODUCTS_PER_ROW == 0)) {
echo '</tr><tr>';
}
}
echo '</tr></table></td></tr><tr><td><img src=images/m30.gif width=437 height=7></td></tr><tr><td height=8></td></tr></table></td></tr>';
}
//DANIEL: end
?>
related_products_3_3
Moderatore: mod Generali
related_products_3_3
Dr.Ock
Ad una rapida occhiata, da queste linee:
risulta che per andare a capo devi settare le due costanti di configurazione.
Ad es per avere 4 prod per riga dovrebbe essere:
e
Saluti
Marcus
Codice: Seleziona tutto
$count++;
if ((RELATED_PRODUCTS_USE_ROWS == 'True') && ($count%RELATED_PRODUCTS_PER_ROW == 0)) {
Ad es per avere 4 prod per riga dovrebbe essere:
Codice: Seleziona tutto
RELATED_PRODUCTS_USE_ROWS = 'True'
Codice: Seleziona tutto
RELATED_PRODUCTS_PER_ROW = 4
Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php
Ciao Marcus, grazie per la tua tempestiva risposta.
Ho provato a fare quello che mi hai indicato ma non cambiava niente rimaneva tutto uguale a quel punto ho fatto qualche prova e ho ottentuto gli 3 articoli su ogni riga. Posto qui di seguito il codice cosi se qualcuno avesse bisogno....
<?php
// DANIEL: begin - show related products
$orderBy = '';
if (RELATED_PRODUCTS_RANDOMIZE == 'True') {$orderBy .= 'order by rand()';} else {$orderBy .= 'order by pop_order_id, pop_id';}
if (RELATED_PRODUCTS_MAX_DISP > 0) $orderBy .= ' limit ' . RELATED_PRODUCTS_MAX_DISP;
$attributes = "select pop_products_id_slave, products_name, products_price, products_tax_class_id, products_image from " . TABLE_PRODUCTS_OPTIONS_PRODUCTS . ", " . TABLE_PRODUCTS_DESCRIPTION . " pa, ". TABLE_PRODUCTS . " pb WHERE pop_products_id_slave = pa.products_id and pa.products_id = pb.products_id and language_id = '" . (int)$languages_id . "' and pop_products_id_master = '".$HTTP_GET_VARS['products_id']."' and products_status='1' " . $orderBy;
$attribute_query = tep_db_query($attributes);
if (mysql_num_rows($attribute_query)>0) {
$count = 0;
echo '<tr><td><table cellspacing=0 cellpadding=0 width=437 align=center border="0">';
echo '<tr><td background=images/m22.gif width=437 height=29 valign=center><span class=ch6> '.TEXT_RELATED_PRODUCTS.' </span></td></tr><tr><td align="center" class="ch1">';
echo '<table border="0" cellspacing="0" cellpadding="2" width="100%" align="center"><tr>';
while ($attributes_values = tep_db_fetch_array($attribute_query)) {
$products_name_slave = ($attributes_values['products_name']);
$products_id_slave = ($attributes_values['pop_products_id_slave']);
if ($new_price = tep_get_products_special_price($products_id_slave)) {
$products_price_slave = $currencies->display_price($new_price, tep_get_tax_rate($attributes_values['products_tax_class_id']));
} else {
$products_price_slave = $currencies->display_price($attributes_values['products_price'], tep_get_tax_rate($attributes_values['products_tax_class_id']));
}
// show thumb image if Enabled
echo '<td class="productListing-data" align="center">';
if (MODULE_RELATED_PRODUCTS_SHOW_THUMBS != 'True') {
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_id_slave) . '">' . tep_image(DIR_WS_IMAGES . $attributes_values['products_image'], $attributes_values['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"').'</a>';
}
echo '<br> <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_id_slave) . '">'.$products_name_slave.'<br><b>'.$products_price_slave.'</b></a>';
echo '</td>';
$count++;
if ((RELATED_PRODUCTS_USE_ROWS == 'False') && ($count%RELATED_PRODUCTS_PER_ROW == 0)) {
echo '</tr><tr>';
}
}
echo '</tr></table></td></tr><tr><td><img src=images/m30.gif width=437 height=7></td></tr><tr><td height=8></td></tr></table></td></tr>';
}
//DANIEL: end
?>
Ho provato a fare quello che mi hai indicato ma non cambiava niente rimaneva tutto uguale a quel punto ho fatto qualche prova e ho ottentuto gli 3 articoli su ogni riga. Posto qui di seguito il codice cosi se qualcuno avesse bisogno....
<?php
// DANIEL: begin - show related products
$orderBy = '';
if (RELATED_PRODUCTS_RANDOMIZE == 'True') {$orderBy .= 'order by rand()';} else {$orderBy .= 'order by pop_order_id, pop_id';}
if (RELATED_PRODUCTS_MAX_DISP > 0) $orderBy .= ' limit ' . RELATED_PRODUCTS_MAX_DISP;
$attributes = "select pop_products_id_slave, products_name, products_price, products_tax_class_id, products_image from " . TABLE_PRODUCTS_OPTIONS_PRODUCTS . ", " . TABLE_PRODUCTS_DESCRIPTION . " pa, ". TABLE_PRODUCTS . " pb WHERE pop_products_id_slave = pa.products_id and pa.products_id = pb.products_id and language_id = '" . (int)$languages_id . "' and pop_products_id_master = '".$HTTP_GET_VARS['products_id']."' and products_status='1' " . $orderBy;
$attribute_query = tep_db_query($attributes);
if (mysql_num_rows($attribute_query)>0) {
$count = 0;
echo '<tr><td><table cellspacing=0 cellpadding=0 width=437 align=center border="0">';
echo '<tr><td background=images/m22.gif width=437 height=29 valign=center><span class=ch6> '.TEXT_RELATED_PRODUCTS.' </span></td></tr><tr><td align="center" class="ch1">';
echo '<table border="0" cellspacing="0" cellpadding="2" width="100%" align="center"><tr>';
while ($attributes_values = tep_db_fetch_array($attribute_query)) {
$products_name_slave = ($attributes_values['products_name']);
$products_id_slave = ($attributes_values['pop_products_id_slave']);
if ($new_price = tep_get_products_special_price($products_id_slave)) {
$products_price_slave = $currencies->display_price($new_price, tep_get_tax_rate($attributes_values['products_tax_class_id']));
} else {
$products_price_slave = $currencies->display_price($attributes_values['products_price'], tep_get_tax_rate($attributes_values['products_tax_class_id']));
}
// show thumb image if Enabled
echo '<td class="productListing-data" align="center">';
if (MODULE_RELATED_PRODUCTS_SHOW_THUMBS != 'True') {
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_id_slave) . '">' . tep_image(DIR_WS_IMAGES . $attributes_values['products_image'], $attributes_values['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"').'</a>';
}
echo '<br> <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_id_slave) . '">'.$products_name_slave.'<br><b>'.$products_price_slave.'</b></a>';
echo '</td>';
$count++;
if ((RELATED_PRODUCTS_USE_ROWS == 'False') && ($count%RELATED_PRODUCTS_PER_ROW == 0)) {
echo '</tr><tr>';
}
}
echo '</tr></table></td></tr><tr><td><img src=images/m30.gif width=437 height=7></td></tr><tr><td height=8></td></tr></table></td></tr>';
}
//DANIEL: end
?>
Dr.Ock
L'unica differenza è la riga:
come è nel codice originale, che hai sostituito con:
il che fa pensare che tu non abbia inserito correttamente la costante di configurazione RELATED_PRODUCTS_USE_ROWS nel DB mediante la query:
oppure tu non abbia settato a true tale costante da pannello,
come chiaramente indicato:
Saluti
Marcus
Codice: Seleziona tutto
RELATED_PRODUCTS_USE_ROWS == 'True
Codice: Seleziona tutto
RELATED_PRODUCTS_USE_ROWS == 'False'
Codice: Seleziona tutto
INSERT INTO `configuration` (`configuration_id`, `configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`)
VALUES ('','Split Display Into Rows','RELATED_PRODUCTS_USE_ROWS','False','Set this option to True to display Related Products in multiple rows.',last_insert_id(),2,NULL,'2006-09-26 23:20:20',NULL,'tep_cfg_select_option(array(\'True\', \'False\'),');
oppure tu non abbia settato a true tale costante da pannello,
come chiaramente indicato:
In pratica hai inserito un secondo errore che compensa il primo'Set this option to True to display Related Products in multiple rows.'

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php