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? :roll:

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? :roll:
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 :wink:

'iao

Sergio

Inviato: 12/08/2005, 14:39
da linda74
Sergio, Grazie dei consigli e del tempo che mi hai dedicato.

Ciao.

Linda.