Eliminare categoria dalla vetrina

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

Piccivendolo ha scritto:1109 - Unknown table 'c' in where clause
Se ogni tanto le provassi le cose.....
Questo funziona

Codice: Seleziona tutto

<?php
/*
  $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/
$column_location = 'center';
?>
<!-- new_products //-->
<?php
  $info_box_contents = array();
  $info_box_contents[] = array('text' => 'Vetrina prodotti');

  new contentBoxHeading($info_box_contents);
 
  //TotalB2B start
  if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
    $new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where products_status = '1' and c.categories_id != '45' order by rand() DESC limit " . MAX_DISPLAY_NEW_PRODUCTS);
  } else {
    $new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . $new_products_category_id . "' and p.products_status = '1' and c.categories_id != '45' order by rand() DESC limit " . MAX_DISPLAY_NEW_PRODUCTS);
  }
  //TotalB2B end

  $row = 0;
  $col = 0;
  $info_box_contents = array();
  while ($new_products = tep_db_fetch_array($new_products_query)) {
   
    $new_products['products_name'] = tep_get_products_name($new_products['products_id']);

   //TotalB2B start & TotalB2B start
   if ($new_price = tep_get_products_special_price($new_products['products_id'])) {
      $new_products['products_price'] = $new_price;
     $info_box_contents[$row][$col] = array('align' => 'center',
                                       'params' => 'class="smallText" width="33%" valign="top"',
                                       'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price_nodiscount($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])));
    } else {
      $new_products['products_price'] = tep_xppp_getproductprice($new_products['products_id']);
     $info_box_contents[$row][$col] = array('align' => 'center',
                                       'params' => 'class="smallText" width="33%" valign="top"',
                                       'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_id'], $new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])));
    }
   //TotalB2B end & TotalB2B end

   $col ++;
    if ($col > 2) {
      $col = 0;
      $row ++;
    }
  }

  new contentBox($info_box_contents);
?>
<!-- new_products_eof //--> 
'iao

Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto

http://www.semilandia.it
Piccivendolo
membro Regular
membro Regular
Messaggi: 140
Iscritto il: 21/03/2005, 1:00
Località: Italia
Contatta:

Messaggio da Piccivendolo »

si ora va, ma dove era il problema?
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

Piccivendolo ha scritto:si ora va, ma dove era il problema?
Che nella prima query non richiamava la tabella categories :D

'iao

Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto

http://www.semilandia.it
Piccivendolo
membro Regular
membro Regular
Messaggi: 140
Iscritto il: 21/03/2005, 1:00
Località: Italia
Contatta:

Messaggio da Piccivendolo »

una domanda ulteriore...

in questo modo elimino 1 categoria dalla vetrina
ma se volessi eliminare anche tutte le sottocategorie di quella categoria?
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

Piccivendolo ha scritto:una domanda ulteriore...
in questo modo elimino 1 categoria dalla vetrina
ma se volessi eliminare anche tutte le sottocategorie di quella categoria?
O ti costruisci una funzione apposta o ti adatti ad aggiungerle tutte a mano, ad esempio:

Codice: Seleziona tutto

and c.categories_id != '45' and c.categories_id != '46'
ecc.

'iao

Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto

http://www.semilandia.it
Piccivendolo
membro Regular
membro Regular
Messaggi: 140
Iscritto il: 21/03/2005, 1:00
Località: Italia
Contatta:

Messaggio da Piccivendolo »

sono 8, le scrivo a mano faccio prima!

grazie appena testato ti faccio sapere se funziona!!!
Piccivendolo
membro Regular
membro Regular
Messaggi: 140
Iscritto il: 21/03/2005, 1:00
Località: Italia
Contatta:

Messaggio da Piccivendolo »

senti bass io ho implementato la modifica come hai detto tu però non funziona.. in vetrina escono ugualmente i prodotti delle categorie che ho escluso...

suggerimenti?
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

Piccivendolo ha scritto:senti bass io ho implementato la modifica come hai detto tu però non funziona.. in vetrina escono ugualmente i prodotti delle categorie che ho escluso...
suggerimenti?
Anche della prima? A me non li visualizza...

'iao

Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto

http://www.semilandia.it
Piccivendolo
membro Regular
membro Regular
Messaggi: 140
Iscritto il: 21/03/2005, 1:00
Località: Italia
Contatta:

Messaggio da Piccivendolo »

eh si non gliene frega niente proprio!
Piccivendolo
membro Regular
membro Regular
Messaggi: 140
Iscritto il: 21/03/2005, 1:00
Località: Italia
Contatta:

Messaggio da Piccivendolo »

ho provato sia con questo:

Codice: Seleziona tutto

<?php 
/* 
  $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $ 

  osCommerce, Open Source E-Commerce Solutions 
  http://www.oscommerce.com 

  Copyright (c) 2003 osCommerce 

  Released under the GNU General Public License 
*/ 
$column_location = 'center'; 
?> 
<!-- new_products //--> 
<?php 
  $info_box_contents = array(); 
  $info_box_contents[] = array('text' => 'Vetrina prodotti'); 

  new contentBoxHeading($info_box_contents); 
  
  //TotalB2B start 
  if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) { 
    $new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where products_status = '1' and c.categories_id != '25_54' and c.categories_id != '25_54_69' and c.categories_id != '25_54_56' and c.categories_id != '25_54_76' and c.categories_id != '25_54_40' and c.categories_id != '25_54_93' and c.categories_id != '25_54_77' and c.categories_id != '25_54_58' and c.categories_id != '25_54_59' and c.categories_id != '25_54_111' and c.categories_id != '25_54_55' and c.categories_id != '25_54_60' order by rand() DESC limit " . MAX_DISPLAY_NEW_PRODUCTS); 
  } else { 
    $new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . $new_products_category_id . "' and p.products_status = '1' and c.categories_id != '25_54' and c.categories_id != '25_54_69' and c.categories_id != '25_54_56' and c.categories_id != '25_54_76' and c.categories_id != '25_54_40' and c.categories_id != '25_54_93' and c.categories_id != '25_54_77' and c.categories_id != '25_54_58' and c.categories_id != '25_54_59' and c.categories_id != '25_54_111' and c.categories_id != '25_54_55' and c.categories_id != '25_54_60' order by rand() DESC limit " . MAX_DISPLAY_NEW_PRODUCTS); 
  } 
  //TotalB2B end 

  $row = 0; 
  $col = 0; 
  $info_box_contents = array(); 
  while ($new_products = tep_db_fetch_array($new_products_query)) { 
    
    $new_products['products_name'] = tep_get_products_name($new_products['products_id']); 

   //TotalB2B start & TotalB2B start 
   if ($new_price = tep_get_products_special_price($new_products['products_id'])) { 
      $new_products['products_price'] = $new_price; 
     $info_box_contents[$row][$col] = array('align' => 'center', 
                                       'params' => 'class="smallText" width="33%" valign="top"', 
                                       'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price_nodiscount($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id']))); 
    } else { 
      $new_products['products_price'] = tep_xppp_getproductprice($new_products['products_id']); 
     $info_box_contents[$row][$col] = array('align' => 'center', 
                                       'params' => 'class="smallText" width="33%" valign="top"', 
                                       'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_id'], $new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id']))); 
    } 
   //TotalB2B end & TotalB2B end 

   $col ++; 
    if ($col > 2) { 
      $col = 0; 
      $row ++; 
    } 
  } 

  new contentBox($info_box_contents); 
?> 
<!-- new_products_eof //--> 
che eliminando il prefisso 25_54_

niente quelle categorie appaiono regolarmente in vetrina!!
come devo fa??? :(
Rispondi