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
Moderatore: mod Generali
I box e le altre contributions vanno adattati a BTS.linda74 ha scritto: Il file sarebbe best_scroller.php?
Come devo fare?![]()
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
Ogni tanto faccio un poco di casino, non andava in column_ma in main_page.tpl come hai giustamente fatto tulinda74 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:
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.Cosa ho fatto di sbagliato?
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>');
Uh, era proprio bacato, adesso funziona l'ho appena provato, sostituisci il codice con questolinda74 ha scritto: Parse error: parse error, unexpected $ in /home/linda/public_html/prova/includes/boxes/best_sellers_scroll.php on line 56
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
}
?>
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 interessanolinda74 ha scritto: Si ha la possibilità di decidere, a propria scelta, quale prodotto far comparire nel box "più venduti" ?