Pagina 1 di 1
Prodotti più venduti
Inviato: 11/08/2005, 13:45
da linda74
Ciao,
Ho un piccolo problema: sto cercando di inserire dentro oscommerce con grafica BTS un piccolo box con i prodotti più venduti, ma ho dei seri problemi.
Il file sarebbe best_scroller.php?
Come devo fare?
Grazie a ciao.
Linda
Re: Prodotti più venduti
Inviato: 11/08/2005, 15:57
da Bass
linda74 ha scritto:
Il file sarebbe best_scroller.php?
Come devo fare?
I box e le altre contributions vanno adattati a BTS.
Il file a cui ti riferisci e' best_sellers_scroll.php che cosi' com'e' non funzionerebbe in BTS.
Apri il file (che trovi in catalog/includes/boxes) cancella il contenuto e sostituiscilo con questo:
Codice: Seleziona tutto
<?php
/*
$Id: best_sellers.php,v 1.21 2003/06/09 22:07:52 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
if (isset($current_category_id) && ($current_category_id > 0)) {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
}
if (tep_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) {
?>
<!-- best_sellers_scroll //-->
<?php
//$info_box_contents = array();
//$info_box_contents[] = array('text' => BOX_HEADING_BESTSELLERS);
//new infoBoxHeading($info_box_contents, false, false);
$boxHeading = BOX_HEADING_BESTSELLERS;
$corner_left = 'square';
$corner_right = 'square';
$box_base_name = 'best_sellers_scroll'; // for easy unique box template setup (added BTSv1.2)
$box_id = $box_base_name . 'Box'; // for CSS styling paulm (editted BTSv1.2)
$rows = 0;
$bestsellers_list = '<table border="0" width="100%" cellspacing="0" cellpadding="1">';
while ($best_sellers = tep_db_fetch_array($best_sellers_query)) {
$rows++;
$bestsellers_list .= '<tr><td class="infoBoxContents" valign="top">' . tep_row_number_format($rows) . '.</td><td class="infoBoxContents">'.tep_image(DIR_WS_IMAGES . $best_sellers['products_image'], $best_sellers['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT).'<BR /><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id']) . '">' . $best_sellers['products_name'] . '</a></td></tr>';
}
$bestsellers_list .= '</table>';
$box_contents[] = '<MARQUEE behavior= "scroll" align= "center" direction= "up" height="160" scrollamount= "2" scrolldelay= "20" onmouseover=\'this.stop()\' onmouseout=\'this.start()\'>'.$bestsellers_list.'</MARQUEE>');
// bof BTSv1.2
if(file_exists(DIR_WS_BOX_TEMPLATES . $box_base_name . '.tpl.php')) {
// if exists, load unique box template for this box from templates/boxes/
require(DIR_WS_BOX_TEMPLATES . $box_base_name . '.tpl.php');
}
else {
// load default box template: templates/boxes/box.tpl.php
require(DIR_WS_BOX_TEMPLATES . TEMPLATENAME_BOX);
}
// eof BTSv1.2
Poi metti la chiamata in column_right.php o column_left.php a tua scelta
'iao
Sergio
Inviato: 12/08/2005, 8:55
da linda74
Grazie Bass,
il file " best_sellers_scroll.php" non era presente e quindi lo creato nuovo, inserendo il codice che mi hai indicato.
Poi ho inserito la chiamata nel file "column_left.php" ed anche nel file "main_page.tpl.php", e quando apro la pagina index mi compare questo errore:
Parse error: parse error, unexpected ')' in /home/linda/public_html/prova/includes/boxes/best_sellers_scroll.php on line 45
Cosa ho fatto di sbagliato?
Grazie e Ciao.
Linda
Inviato: 12/08/2005, 10:58
da Bass
linda74 ha scritto:
Poi ho inserito la chiamata nel file "column_left.php" ed anche nel file "main_page.tpl.php", e quando apro la pagina index mi compare questo errore:
Ogni tanto faccio un poco di casino, non andava in column_ma in main_page.tpl come hai giustamente fatto tu
Cosa ho fatto di sbagliato?
Tu niente, c'e' effettivamente una parentesi di troppo, strano perche' l'avevo usato sul mio sito poi mi sembravano troppe due contributions che facevano lo scroll e l'ho eliminata, magarti ci ho pasticciato dopo.
La riga e' questa:
Codice: Seleziona tutto
$box_contents[] = '<MARQUEE behavior= "scroll" align= "center" direction= "up" height="160" scrollamount= "2" scrolldelay= "20" onmouseover=\'this.stop()\' onmouseout=\'this.start()\'>'.$bestsellers_list.'</MARQUEE>');
elimina la parentesi ) in fondo e dovrebbe funzionare tutto
'iao
Sergio
Inviato: 12/08/2005, 11:19
da linda74
Grazie Sergio,
ma sai che non riesco a farlo funzionare?
E' cambiato il tipo di errore:
Parse error: parse error, unexpected $ in /home/linda/public_html/prova/includes/boxes/best_sellers_scroll.php on line 56
Grazie per l'aiuto e Ciao.
Linda
Inviato: 12/08/2005, 14:16
da Bass
linda74 ha scritto:
Parse error: parse error, unexpected $ in /home/linda/public_html/prova/includes/boxes/best_sellers_scroll.php on line 56
Uh, era proprio bacato, adesso funziona l'ho appena provato, sostituisci il codice con questo
Codice: Seleziona tutto
<?php
/*
$Id: best_sellers.php,v 1.21 2003/06/09 22:07:52 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
if (isset($current_category_id) && ($current_category_id > 0)) {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
}
if (tep_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) {
?>
<!-- best_sellers_scroll //-->
<?php
//$info_box_contents = array();
//$info_box_contents[] = array('text' => BOX_HEADING_BESTSELLERS);
//new infoBoxHeading($info_box_contents, false, false);
$boxHeading = BOX_HEADING_BESTSELLERS;
$corner_left = 'square';
$corner_right = 'square';
$box_base_name = 'best_sellers_scroll'; // for easy unique box template setup (added BTSv1.2)
$box_id = $box_base_name . 'Box'; // for CSS styling paulm (editted BTSv1.2)
$rows = 0;
$bestsellers_list = '<table border="0" width="100%" cellspacing="0" cellpadding="1">';
while ($best_sellers = tep_db_fetch_array($best_sellers_query)) {
$rows++;
$bestsellers_list .= '<tr><td class="infoBoxContents" valign="top">' . tep_row_number_format($rows) . '.</td><td class="infoBoxContents">'.tep_image(DIR_WS_IMAGES . $best_sellers['products_image'], $best_sellers['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT).'<BR /><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id']) . '">' . $best_sellers['products_name'] . '</a></td></tr>';
}
$bestsellers_list .= '</table>';
$boxContent = '<MARQUEE behavior= "scroll" align= "center" direction= "up" height="160" scrollamount= "2" scrolldelay= "20" onmouseover=\'this.stop()\' onmouseout=\'this.start()\'>'.$bestsellers_list.'</MARQUEE>';
// bof BTSv1.2
if(file_exists(DIR_WS_BOX_TEMPLATES . $box_base_name . '.tpl.php')) {
// if exists, load unique box template for this box from templates/boxes/
require(DIR_WS_BOX_TEMPLATES . $box_base_name . '.tpl.php');
}
else {
// load default box template: templates/boxes/box.tpl.php
require(DIR_WS_BOX_TEMPLATES . TEMPLATENAME_BOX);
}
// eof BTSv1.2
}
?>
'iao
Sergio
Inviato: 12/08/2005, 14:26
da linda74
Grazie Sergio,
adesso va proprio bene.
Si ha la possibilità di decidere, a propria scelta, quale prodotto far comparire nel box "più venduti" ?
Ciao.
Linda
Inviato: 12/08/2005, 14:30
da Bass
linda74 ha scritto:
Si ha la possibilità di decidere, a propria scelta, quale prodotto far comparire nel box "più venduti" ?
Con questo box no, si limita a pescare cio' che effettivamente viene piu' venduto. Ovviamente se nel tuo store fai una serie di vendite fittizie spingi in alto i prodotti che ti interessano
'iao
Sergio
Inviato: 12/08/2005, 14:39
da linda74
Sergio, Grazie dei consigli e del tempo che mi hai dedicato.
Ciao.
Linda.