QTpro v1.0 - Quantity Tracking Professional

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Ho la necessita di gestire le taglie e le relative disponibilità in base ad esse.
Cercando sul forum e su oscommerce ho trovato questa contribution


Mi sapete indicare se c'è una guida per installarla ?
Perchè non pacchetto non c'è.

Inoltre qualcuno di voi la usa?


Grazie
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da marcus »

3dstudiomax ha scritto:Ho la necessita di gestire le taglie e le relative disponibilità in base ad esse.
Cercando sul forum e su oscommerce ho trovato questa contribution


Mi sapete indicare se c'è una guida per installarla ?
Perchè non pacchetto non c'è.

Inoltre qualcuno di voi la usa?


Grazie
Io l'ho appena inserita nella nuova versione del mio pacchetto osCPRO.
La guida per l'installazione la trovi nella contribution.

Il modulo QtPRO consente di :

* impostare e gestire correttamente le quantità per le varianti di un prodotto (es T-Shirt Rossa, Taglia XL, Sintetica)
* Tracciare le quantità delle singole varianti

Qui potete vedere un esempio di applicazione:
http://oscpro.oscommercedev.com/felpa-u ... a-p-7.html

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Marcus intanto grazie per l'intervento.
Potrest indicarmi in quale tra le tante versioni è contenuta la guida all'installazione ?
Io ne ho provate diverse, ma guida all'installazione niente...

Grazie
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da marcus »

3dstudiomax ha scritto:Marcus intanto grazie per l'intervento.
Potrest indicarmi in quale tra le tante versioni è contenuta la guida all'installazione ?
Io ne ho provate diverse, ma guida all'installazione niente...

Grazie
Nell'ultima versione trovi addirittura un piccolo manuale :wink:

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Per ultima versione intendi questa? QTPro v4.51
Cmq un file chiamato manual.html c'è solo che non spiega come installarla ma consiglia di usare WinDiff.

Per esperienza tua... devo solamente copiare le parti commentate ?

Grazie
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Ragazzi io ho l'esigenza di poter gestire le taglie e le quantità

Tipo:

Taglia M (5 prodotti disponibili)

Naturalmente i prodotti disponibili dopo l'acquista saranno 4, poi 3 e così via

Ho installato questa contribution (Quantity Tracking Professional), ma non riesco ad impostare a far visualizzare la quantità
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Amici allora l'ho analizzata in fondo e sono riuscito ad assegnare una quantità ad ogni Attributo.
Sono in locale pertanto vorrei metterla prima online per vedere se funziona tutto alla perfezione.

Per i miei test ho usato una versione originale di oscommerce.

Vi tengo aggiornati

Grazie cmq a tutti per gli ottimi suggerimenti
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Sto provando ad installare la contribution in questione su una versione di oscommerce modificata

La sezione admin va bene, almeno per il momento non mi riporta errori... mentre il lato pubblico presenta degli errori. Anche perchè secondo me mancano delle parti che non riesco a trovare nel mio codice.

Le parti da modificare sarebbero:

Codice: Seleziona tutto

 <?php
    if (tep_not_null($product_info['products_image'])) {
?>
Da sostituire con

Codice: Seleziona tutto

<?php
    if (tep_not_null($product_info['products_image'])) {
//++++ QT Pro: Begin Changed code?>
          <table border="0" width="100%" cellspacing="0" cellpadding="2">
            <tr>
              <td class="smallText">
<?php
//++++ QT Pro: End Changed Code
?>
Poi c'è questo:

Codice: Seleziona tutto

?>
          <p><?php echo stripslashes($product_info['products_description']); ?></p>
<?php
Aggiungere dopo

Codice: Seleziona tutto

//++++ QT Pro: Begin Changed code
    if (tep_not_null($product_info['products_image'])) {
?>
              </td>
            </tr>
          </table>
<?php
}
//++++ QT Pro: End Changed Code

Ed infine questo:

Codice: Seleziona tutto

 $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
    $products_attributes = tep_db_fetch_array($products_attributes_query);
    if ($products_attributes['total'] > 0) {
?>
          <table border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td>
            </tr>
<?php
      $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");
      while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
        $products_options_array = array();
        $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");
        while ($products_options = tep_db_fetch_array($products_options_query)) {
          $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
          if ($products_options['options_values_price'] != '0') {
            $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
          }
        }
        if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {
          $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];
        } else {
          $selected_attribute = false;
        }
?>
            <tr>
              <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td>
              <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td>
            </tr>
<?php
      }
?>
          </table>
<?php
da sostituire con questo:

Codice: Seleziona tutto

$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
    $products_attributes = tep_db_fetch_array($products_attributes_query);
    if ($products_attributes['total'] > 0) {
//++++ QT Pro: Begin Changed code
      $products_id=(preg_match("/^\d{1,10}(\{\d{1,10}\}\d{1,10})*$/",$HTTP_GET_VARS['products_id']) ? $HTTP_GET_VARS['products_id'] : (int)$HTTP_GET_VARS['products_id']); 
      require(DIR_WS_CLASSES . 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN . '.php');
      $class = 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN;
      $pad = new $class($products_id);
      echo $pad->draw();
//++++ QT Pro: End Changed Code

Il mio file Catalog/product_info.php è questo:

Codice: Seleziona tutto

<?php
/*
  $Id: product_info.php,v 1.97 2003/07/01 14:34:54 hpdl Exp $

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

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  require('includes/application_top.php');

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);

  $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
  $product_check = tep_db_fetch_array($product_check_query);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen" />
<script language="javascript"><!--
function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}
//--></script>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->

  <tr><td valign="top">
       <table border="0" cellspacing="0" cellpadding="0">
	    <tr><td width="14" bgcolor="#FFFFFF"></td>
		    <td width="235" valign="top"><?php require(DIR_WS_INCLUDES . 'column_left.php'); ?></td>
			<td width="517" valign="top" bgcolor="#FFFFFF">
			 <table border="0" cellspacing="0" cellpadding="0" width="447" align="center">
			  <tr><td height="30"></td></tr>


<?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>

<?php
  if ($product_check['total'] < 1) {
?>
			  <tr><td height="15" class="tx3"><?= TEXT_PRODUCT_NOT_FOUND; ?></td></tr>
			  <tr><td width="447" height="1" bgcolor="#B2B2B2"></td></tr>
			  <tr><td height="23"></td></tr>
			 </table> 

	<table cellpadding="0" cellspacing="0" border="0" width="100%">
	 <tr>
        <td><table border="0" width="100%" cellspacing="1" cellpadding="2">
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
	</table>
<?php
  } else {
    $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
    $product_info = tep_db_fetch_array($product_info_query);

    tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

    if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
      $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
    } else {
      $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));
    }

    if (tep_not_null($product_info['products_model'])) {
      $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>';
    } else {
      $products_name = $product_info['products_name'];
    }
?>
			  <tr><td height="15" class="tx3"><?php echo $products_name; ?></td></tr>
			  <tr><td width="447" height="1" bgcolor="#B2B2B2"></td></tr>
			  <tr><td height="23"></td></tr>
			 </table> 


			 <table border="0" cellspacing="0" cellpadding="0" width="447" align="center">
			  <tr><td width="96" valign="top" align="center">
<script language="javascript"><!--
document.write('<?php echo '<a href="'. tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) .'"  target="_blank" rel="lightbox">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');
//--></script>
<noscript>
<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank" rel="lightbox">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>
</noscript>
				</td>				   				
				  <td width="340" valign="top">
				   <table border="0" cellspacing="0" cellpadding="0">
				    <tr><td height="8"></td></tr>												
				    <tr><td><span class="ml1"><?=$products_name?></span></td></tr>	
				    <tr><td height="3"></td></tr>			    
					<tr><td style="line-height:12px;"><?php echo stripslashes($product_info['products_description']); ?>
<?php
//++++ QT Pro: Begin Changed code
    if (tep_not_null($product_info['products_image']) {
?>
              </td>
            </tr>
          </table>
<?php
}
}
//++++ QT Pro: End Changed Code</td></tr>
					<tr><td height="8"></td></tr>
				    <tr><td><span class="tx5"><?=$products_price?></span>     </td></tr>
					<tr><td height="4"></td></tr>																		
					<tr><td><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?> <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_add_to_cart1.gif', IMAGE_BUTTON_IN_CART); ?></td></tr>
			   	   </table>
			  </td></tr>
			  <tr><td height="24" colspan="2"></td></tr> 
		     </table>
			 <table border="0" cellspacing="0" cellpadding="0" width="447" align="center">
			  <tr><td colspan="2" style="line-height:12px;">

	<table cellpadding="0" cellspacing="0" border="0" width="100%">
      <tr>
        <td class="main">
<?php
       $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
    $products_attributes = tep_db_fetch_array($products_attributes_query);
    if ($products_attributes['total'] > 0) {
//++++ QT Pro: Begin Changed code
      $products_id=(preg_match("/^\d{1,10}(\{\d{1,10}\}\d{1,10})*$/",$HTTP_GET_VARS['products_id']) ? $HTTP_GET_VARS['products_id'] : (int)$HTTP_GET_VARS['products_id']); 
      require(DIR_WS_CLASSES . 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN . '.php');
      $class = 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN;
      $pad = new $class($products_id);
      echo $pad->draw();
//++++ QT Pro: End Changed Code
    }
?>
        </td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
    $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
    $reviews = tep_db_fetch_array($reviews_query);
    if ($reviews['count'] > 0) {
?>
      <tr>
        <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
    }

    if (tep_not_null($product_info['products_url'])) {
?>
      <tr>
        <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
    }

    if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {
?>
      <tr>
        <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>
      </tr>
<?php
    } else {
?>
      <tr>
        <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>
      </tr>
<?php
    }
if (DISPLAY_EXTRA_IMAGES == 'true'){
if ($product_check['total'] >= 1) {
include (DIR_WS_INCLUDES . 'products_extra_images.php');
}
}

?>
    </table>
			</td></tr>
			 </table> 			      

<? } ?>
</form>
<!-- body_eof //-->

<br/>			 <table border="0" cellspacing="0" cellpadding="0" width="447" align="center">
			  <tr><td width="447" height="1" bgcolor="#B2B2B2"></td></tr>
			  <tr><td align="center" height="49"><?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('specials.php')?>"><?=BOX_HEADING_SPECIALS?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('advanced_search.php')?>"><?=BOX_SEARCH_ADVANCED_SEARCH?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('contact_us.php')?>"><?=BOX_INFORMATION_CONTACT?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('create_account.php')?>"><?=HEADER_TITLE_CREATE_ACCOUNT?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  
<? if (tep_session_is_registered('customer_id')) { 
?><a class="ml2" href="<?=tep_href_link('logoff.php')?>"><?=HEADER_TITLE_LOGOFF?></a><? } else 
{ ?><a class="ml2" href="<?=tep_href_link('login.php')?>"><?=HEADER_TITLE_LOGIN?></a><? } ?>
				</td></tr>
			</table>			 
	    </td></tr>
	   </table>
  </td></tr>           


<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->

</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>


Mi date una mano a capire dove sbaglio ?

Grazie
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Ragazzi è tutto il giorno che ci prova... ma nulla
Consigli ?
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Sono sempre fermo sul file product_info.php... non so più dove sbattere la testa
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Ragazzi ottengo questo errore:


Parse error: syntax error, unexpected '<' in C:\xxx\htdocs\mio\product_info.php on line 146


Mio file product_info.php

Codice: Seleziona tutto

<?php
/*
  $Id: product_info.php,v 1.97 2003/07/01 14:34:54 hpdl Exp $

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

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  require('includes/application_top.php');

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);

  $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
  $product_check = tep_db_fetch_array($product_check_query);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen" />
<script language="javascript"><!--
function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}
//--></script>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->

  <tr><td valign="top">
       <table border="0" cellspacing="0" cellpadding="0">
	    <tr><td width="14" bgcolor="#FFFFFF"></td>
		    <td width="235" valign="top"><?php require(DIR_WS_INCLUDES . 'column_left.php'); ?></td>
			<td width="517" valign="top" bgcolor="#FFFFFF">
			 <table border="0" cellspacing="0" cellpadding="0" width="447" align="center">
			  <tr><td height="30"></td></tr>


<?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>

<?php
  if ($product_check['total'] < 1) {
?>
			  <tr><td height="15" class="tx3"><?= TEXT_PRODUCT_NOT_FOUND; ?></td></tr>
			  <tr><td width="447" height="1" bgcolor="#B2B2B2"></td></tr>
			  <tr><td height="23"></td></tr>
			 </table> 

	<table cellpadding="0" cellspacing="0" border="0" width="100%">
	 <tr>
        <td><table border="0" width="100%" cellspacing="1" cellpadding="2">
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
	</table>
<?php
  } else {
    $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
    $product_info = tep_db_fetch_array($product_info_query);

    tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

    if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
      $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
    } else {
      $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));
    }

    if (tep_not_null($product_info['products_model'])) {
      $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>';
    } else {
      $products_name = $product_info['products_name'];
    }
?>
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td class="pageHeading" valign="top"><?php echo $products_name; ?></td>
            <td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td class="main">
<?php
    if (tep_not_null($product_info['products_image'])) {
//++++ QT Pro: Begin Changed code
?>
          <table border="0" width="100%" cellspacing="0" cellpadding="2">
            <tr>
              <td class="smallText">
<?php
//++++ QT Pro: End Changed Code
?>
          <table border="0" cellspacing="0" cellpadding="2" align="right">
            <tr>
              <td align="center" class="smallText">
<script language="javascript"><!--
document.write('<?php echo '<a href="'. tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) .'"  target="_blank" rel="lightbox">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');
//--></script>
<noscript>
<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank" rel="lightbox">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>
</noscript>
				</td>				   				
				  <td width="340" valign="top">
				   <table border="0" cellspacing="0" cellpadding="0">
				    <tr><td height="8"></td></tr>												
				    <tr><td><span class="ml1"><?=$products_name?></span></td></tr>	
				    <tr><td height="3"></td></tr>			    
					<tr><td style="line-height:12px;"><?php echo stripslashes($product_info['products_description']) ?>
	
//++++ QT Pro: Begin Changed code
    if (tep_not_null($product_info['products_image'])) {
?>
              </td>
            </tr>
          </table>
<?php
}
//++++ QT Pro: End Changed Code
					  <tr><td height="8"></td></tr>
				    <tr><td><span class="tx5"><?=$products_price?></span>     </td></tr>
					<tr><td height="4"></td></tr>																		
					<tr><td><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?> <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_add_to_cart1.gif', IMAGE_BUTTON_IN_CART); ?></td></tr>
			   	   </table>
			  </td></tr>
			  <tr><td height="24" colspan="2"></td></tr> 
		     </table>
			 <table border="0" cellspacing="0" cellpadding="0" width="447" align="center">
			  <tr><td colspan="2" style="line-height:12px;">

	<table cellpadding="0" cellspacing="0" border="0" width="100%">
      <tr>
        <td class="main">
<?php
      $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
    $products_attributes = tep_db_fetch_array($products_attributes_query);
    if ($products_attributes['total'] > 0) {
//++++ QT Pro: Begin Changed code
      $products_id=(preg_match("/^\d{1,10}(\{\d{1,10}\}\d{1,10})*$/",$HTTP_GET_VARS['products_id']) ? $HTTP_GET_VARS['products_id'] : (int)$HTTP_GET_VARS['products_id']); 
      require(DIR_WS_CLASSES . 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN . '.php');
      $class = 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN;
      $pad = new $class($products_id);
      echo $pad->draw();
//++++ QT Pro: End Changed Code
    }
?>
        </td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
    $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
    $reviews = tep_db_fetch_array($reviews_query);
    if ($reviews['count'] > 0) {
?>
      <tr>
        <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
    }

    if (tep_not_null($product_info['products_url'])) {
?>
      <tr>
        <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
    }

    if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {
?>
      <tr>
        <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>
      </tr>
<?php
    } else {
?>
      <tr>
        <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>
      </tr>
<?php
    }
if (DISPLAY_EXTRA_IMAGES == 'true'){
if ($product_check['total'] >= 1) {
include (DIR_WS_INCLUDES . 'products_extra_images.php');
}
}

?>
    </table>
			</td></tr>
			 </table> 			      

<? } ?>
</form>
<!-- body_eof //-->

<br>		 <table border="0" cellspacing="0" cellpadding="0" width="447" align="center">
			  <tr><td width="447" height="1" bgcolor="#B2B2B2"></td></tr>
			  <tr><td align="center" height="49"><?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('specials.php')?>"><?=BOX_HEADING_SPECIALS?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('advanced_search.php')?>"><?=BOX_SEARCH_ADVANCED_SEARCH?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('contact_us.php')?>"><?=BOX_INFORMATION_CONTACT?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  <a class="ml2" href="<?=tep_href_link('create_account.php')?>"><?=HEADER_TITLE_CREATE_ACCOUNT?></a>        <?=tep_image(DIR_WS_IMAGES.'m19.gif','','','','class="ab"')?>  
<? if (tep_session_is_registered('customer_id')) { 
?><a class="ml2" href="<?=tep_href_link('logoff.php')?>"><?=HEADER_TITLE_LOGOFF?></a><? } else 
{ ?><a class="ml2" href="<?=tep_href_link('login.php')?>"><?=HEADER_TITLE_LOGIN?></a><? } ?>
				</td></tr>
			</table>			 
	    </td></tr>
	   </table>
  </td></tr>           


<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->

</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Che tipo di errore è ?
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Ragazzi diciamo che analizzando il codice passo dopo passo per benino riesco ad ottenere dei piccoli miglioramenti.
Volevo chiedervi... ma quando agli attributi attribuisco un valore, questo una volta che il prodotto viene acquistato diminuisce vero ?
Nel senso che gestisce sia l'attributo che la giacenza in magazzino del prodotto con quella specifica...
spero che sia così, altrimenti questa contribribution non mi serve a nulla

Grazie
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da marcus »

3dstudiomax ha scritto: Volevo chiedervi... ma quando agli attributi attribuisco un valore, questo una volta che il prodotto viene acquistato diminuisce vero ?

Grazie
Ovviamente si :shock:

La contribution contiene anche un report che ti consente di avere subito il quadro delle giacenze:

Immagine

Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

Grazie dell'informazione Marcus
3dstudiomax
membro Veteran
membro Veteran
Messaggi: 520
Iscritto il: 24/06/2008, 19:45

Re: QTpro v1.0 - Quantity Tracking Professional

Messaggio da 3dstudiomax »

marcus ma il fatto della tabellina che visualizza la dispinibilità funziona solo dall'ultima versione, oppure anche nelle precedenti ?
Rispondi