Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Incluir tabla en un oscommerce

Estas en el tema de Incluir tabla en un oscommerce en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola gente les escribo porque en la web de soporte de oscommerce nadie me ayuda Yo tengo una actualización llamada QTPro 3.2 En la versión ...
  #1 (permalink)  
Antiguo 28/11/2008, 06:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Incluir tabla en un oscommerce

Hola gente les escribo porque en la web de soporte de oscommerce nadie me ayuda
Yo tengo una actualización llamada QTPro 3.2

En la versión 4.4 agregaron una tabla que me sirve mucho asi los clientes ven de una vez los productos disponibles. No puedo instalar la version 4.4 porque no anda con las otras contribuciones que instalé. Estuve viendo y hay un archivo que es el que genera la tabla qtpro_stock_table.php

Le saqué una linea ya que tiene una función que mi versión no la tiene
AND popt.products_options_track_stock = '1'
despues la incluyo en product_info.php
<?php require(DIR_WS_MODULES . "qtpro_stock_table.php");?>

pero solo aparece el título STOCK_LIST_IN_PI_TEXT_HEADING

Alguien solidario me podrá ayudar a modificar el archivo? Les copio el codigo del archivo en cuestion y la parte del product_info para ver que es lo que no compatibiliza. Espero que me puedan ayudar, gracias.

Product info:
Código PHP:
<?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) {
?>
          <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, popt.special 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();
       
// BOF Linkmatics attributes sets plus                                  
          
$products_options_query tep_db_query("
          SELECT pov.products_options_values_id, pov.products_options_values_name, 
               pa.options_values_price, pa.price_prefix , pase.sort_order
              FROM " 
TABLE_PRODUCTS_ATTRIBUTES " pa, " 
                    
TABLE_PRODUCTS_ATTRIBUTES_SETS_TO_PRODUCTS " pas2pa, " 
                    
TABLE_PRODUCTS_ATTRIBUTES_SETS " pas, " .
                    
TABLE_PRODUCTS_ATTRIBUTES_SETS_ELEMENTS " pase, " .
                    
TABLE_PRODUCTS_OPTIONS_VALUES " pov
                    WHERE      pa.products_id = '" 
. (int)$_GET['products_id'] . "'           
                AND pa.options_id = '" 
$products_options_name['products_options_id'] . "'
                AND pas2pa.products_id = pa.products_id
                AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
                AND pas.products_options_id = pa.options_id
                AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
                AND pase.options_values_id = pa.options_values_id
                AND pov.products_options_values_id = pa.options_values_id
                AND pov.language_id = '" 
$languages_id "'
                ORDER BY pase.sort_order, pa.options_values_id"
); 
                     
// >>>>> BOF Linkmatics attributes sets plus patch v1.01
           
if (tep_db_num_rows($products_options_query)== ) {
                       
$products_options_query tep_db_query("
               SELECT pov.products_options_values_id, pov.products_options_values_name,
                      pa.options_values_price, pa.price_prefix , pa.options_values_id
                 FROM " 
TABLE_PRODUCTS_ATTRIBUTES " pa, " .
                          
TABLE_PRODUCTS_OPTIONS_VALUES " pov
                 WHERE pa.products_id = '" 
. (int)$_GET['products_id'] . "'
                   AND pa.options_id = '" 
$products_options_name['products_options_id'] . "'
                   AND pov.products_options_values_id = pa.options_values_id
                   AND pov.language_id = '" 
$languages_id "'
                 ORDER BY pa.options_values_id"
);
           }
          
// <<<<< EOF Linkmatics attributes sets plus patch v1.01      
          // EOF Linkmatics attributes sets plus
          
$products_options_query tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix, pa.options_id, pa.options_values_id 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)) {
        
//START get attribute stock values/show out of stock
        
if (!$products_options_name['special']) {
          
$attribute_stock_query tep_db_query("select products_stock_quantity from " TABLE_PRODUCTS_STOCK " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' AND products_stock_attributes REGEXP '(^|,)" . (int)$products_options['options_id'] . "-" . (int)$products_options['options_values_id'] . "(,|$)' AND products_stock_quantity > 0");
          if (
tep_db_num_rows($attribute_stock_query)==0) {
             
$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => 'Sin stock - ' $products_options['products_options_values_name']);
           } else {
             
$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
           }
         }
         else {
           
$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
         }

         
// END get attribute stock values/show out of stock


          
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;
        }
?>
  #2 (permalink)  
Antiguo 28/11/2008, 06:56
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Incluir tabla en un oscommerce

qtpro_stock_table:
Código PHP:
<?php

  
/*Copied from admin functions*/
  
function tep_values_name($values_id) {
    global 
$languages_id;

    
$values tep_db_query("select products_options_values_name from " TABLE_PRODUCTS_OPTIONS_VALUES " where products_options_values_id = '" . (int)$values_id "' and language_id = '" . (int)$languages_id "'");
    
$values_values tep_db_fetch_array($values);

    return 
$values_values['products_options_values_name'];
  }

/////   MISSION CODENAME: "GET INFORMATION" STARTS HERE   /////
//Get the products_price and products_tax_class_id
$products_facts_query "select p.products_price, p.products_tax_class_id from " TABLE_PRODUCTS " p where p.products_id = " . (int)$HTTP_GET_VARS['products_id'] ;
$products_facts tep_db_fetch_array(tep_db_query($products_facts_query)); 

// Get the stocklevels
$products_stock_query=tep_db_query("SELECT products_stock_attributes, products_stock_quantity 
                                  FROM " 
TABLE_PRODUCTS_STOCK 
                                  WHERE products_id=" 
. (int)$HTTP_GET_VARS['products_id'] .
                                  ORDER BY products_stock_attributes"
);

// get the option names
$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_id"
);            

// build array of attributes price delta
$attributes_price = array();
$products_attributes_query tep_db_query("SELECT pa.options_id, pa.options_values_id, pa.options_values_price, pa.price_prefix 
                                         FROM " 
TABLE_PRODUCTS_ATTRIBUTES " pa 
                                         WHERE pa.products_id = '" 
. (int)$HTTP_GET_VARS['products_id'] . "'"); 
while (
$products_attributes_values tep_db_fetch_array($products_attributes_query)) {
    
$option_price $products_attributes_values['options_values_price'];
    if (
$products_attributes_values['price_prefix'] == "-"$option_price= -1*$option_price;
    
$attributes_price[$products_attributes_values['options_id']][$products_attributes_values['options_values_id']] = $option_price;
}                                       
/////   MISSION CODENAME: "GET INFORMATION" ENDS HERE   /////


//OK! time to generate the html table
//$html_ev_out will be displayed at the end of the script if $rowscounter > 0
$rowscounter 0;
$html_ev_out '<br /><strong>' STOCK_LIST_IN_PI_TEXT_HEADING '</strong> 
<table border="0" cellspacing="0" cellpadding="0"><tr><td class="infoBoxHeading">
<table class="boxText" border="0" cellspacing="2" cellpadding="6"> <tr>'
;
//I have 2 tables because the parent table creates the background and lines in correct collor between the child tables cells. Parent table has only one cell.

// build heading line with option names
while ($products_options_name tep_db_fetch_array($products_options_name_query)) {
    
$html_ev_out .= '<td class="infoBoxHeading" align="center">' $products_options_name['products_options_name'] . '</td>';
}
    
$html_ev_out .= '<td class="infoBoxHeading" align="center">'STOCK_LIST_IN_PI_TEXT_PRICE .'</td>';    
    
$html_ev_out .= '<td class="infoBoxHeading" align="center">'STOCK_LIST_IN_PI_TEXT_STOCK .'</td>';
    
$html_ev_out .= '</tr>';


// now create the rows! Each row will display the quantity for one combination of attributes.
while($products_stock_values=tep_db_fetch_array($products_stock_query)) {
    if(
$products_stock_values['products_stock_quantity'] > 0){
        
//We only want to display rows for combinations we have on stock...
        //For example the quantity can be 0 or even negative if oversold.
        
$rowscounter += 1
        
$attributes=explode(",",$products_stock_values['products_stock_attributes']);
        
$html_ev_out .= '<tr >'
        
        
        
$total_price=$products_facts['products_price'];            
        foreach(
$attributes as $attribute) {
            
$attr=explode("-",$attribute);
            
$html_ev_out .= '<td class="infoBoxContents" align="center">'.tep_values_name($attr[1]).'</td>';
            
$total_price+=$attributes_price[$attr[0]][$attr[1]];
        }
        
$total_price=$currencies->display_price($total_pricetep_get_tax_rate($products_facts['products_tax_class_id']));
        
//$total_price=$currencies->format($total_price);
        
        
$html_ev_out .= '<td class="infoBoxContents" align="center">'.$total_price.'</td>';
        
$html_ev_out .= '<td class="infoBoxContents" align="center">'.$products_stock_values['products_stock_quantity'].'</td>';
    }
}


$html_ev_out .= '</tr></table></td></tr></table>'//Table is finished!
if($rowscounter 0){//Only display the table if it contains anything =)
    
echo $html_ev_out;
}
?>
  #3 (permalink)  
Antiguo 28/11/2008, 16:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Incluir tabla en un oscommerce

Tema trasladado a Aplicaciones Prefabricadas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:10.