Jump to content



Photo
- - - - -

Low Stock Report Layout


This topic has been archived. This means that you cannot reply to this topic.
3 replies to this topic

#1   clippers

clippers
  • Members
  • 86 posts

Posted 10 July 2012 - 10:50

Hi
Im looking for a way to move the layout around in low stock report, im using 2.3.1 version of osc

I want to move the attributes and its numbers from underneath the item title to the side of the title to show more items on the page with out scrolling down and also want to add Cost price (site already has cost) next retail price and also show specail pirce if it has one,
i been looking at Stats_low_stock_attrib.php but i dont want to start messing about with it without having a general idea of what i should be moving,
Done a forum search and i couldnt realy find anything i was looking for,
Can anybody point me in the right way /thumbsup.gif' class='bbc_emoticon' alt=':thumbsup:' />
this is the layout now with what i want underneath

Hope you can Help
Thanks
/w00t.gif' class='bbc_emoticon' alt='(w00t)' />

Attached File  layout.png   36.87KB   26 downloads

Edited by clippers, 10 July 2012 - 11:00.


#2   clippers

clippers
  • Members
  • 86 posts

Posted 10 July 2012 - 12:50

the page im trying to edit is part of QTpro and here is the code /wacko.png' class='bbc_emoticon' alt=':wacko:' />

<?php
/*
	  QT Pro Version 4.0
 
	  stats_low_stock_attrib.php
 
	  Contribution extension to:
	    osCommerce, Open Source E-Commerce Solutions
	    http://www.oscommerce.com
	
	  Copyright (c) 2004 Ralph Day
	  Released under the GNU General Public License
 
	  Based on prior works released under the GNU General Public License:
	    QT Pro prior versions
		  Ralph Day, October 2004
		  Tom Wojcik aka TomThumb 2004/07/03 based on work by Michael Coffman aka coffman
		  FREEZEHELL - 08/11/2003 freezehell@hotmail.com Copyright (c) 2003 IBWO
		  Joseph Shain, January 2003
	    osCommerce MS2
		  Copyright (c) 2003 osCommerce
		 
	  Modifications made:
	    11/2004 - Clean up to not replicate for all languages
				  Handle multiple attributes per product
				  Ignore attributes that stock isn't tracked for
				  Remove unused code
	   
*******************************************************************************************
 
	  QT Pro Low Stock Report
 
	  This report lists all products and products attributes that have stock less than
	  the reorder level configured in the osCommerce admin site
	 
*******************************************************************************************
  $Id: stats_products.php,v 1.22 2002/03/07 20:30:00 harley_vb Exp $
  (v 1.3 by Tom Wojcik aka TomThumb 2004/07/03)
  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com
  Copyright (c) 2002 osCommerce
  Released under the GNU General Public License
*/
    require('includes/application_top.php');
   require(DIR_WS_INCLUDES . 'template_top.php');
  
  require(DIR_WS_CLASSES . 'currencies.php');
  $currencies = new currencies();
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
	  <tr>
	    <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
		  <tr>
		    <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
		    <td class="menuboxheading" align="center"><?php echo strftime(DATE_FORMAT_LONG); ?></td>
		  </tr>
	    </table></td>
	  </tr>
	  <tr>
	    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
	 
		  <tr>
		    <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
			  <tr>
			    <td class="formAreaTitle"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
    <td class="formAreaTitle"><?php echo TABLE_HEADING_MODEL; ?></td>
			    <td class="formAreaTitle"><?php echo TABLE_HEADING_QUANTITY; ?></td>
			   
			    <td class="formAreaTitle" align="right"><?php echo TABLE_HEADING_PRICE; ?>&nbsp;</td>
						 </tr>
			  <tr>
			    <td colspan="4"><hr></td>
				   </tr>
<?php
  $products_query_raw = "select p.products_id, pd.products_name, p.products_model, p.products_quantity, p.products_price, l.name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_LANGUAGES . " l where p.products_id = pd.products_id and p.products_id = pd.products_id and l.languages_id = pd.language_id and pd.language_id = '" . (int)$languages_id . "' order by pd.products_name ASC";
 
  $products_query = tep_db_query($products_query_raw);
  while ($products = tep_db_fetch_array($products_query)) {
	  $products_id = $products['products_id'];
	  // check for product or attributes below reorder level
	  $products_stock_query=tep_db_query("SELECT products_stock_attributes, products_stock_quantity
										  FROM " . TABLE_PRODUCTS_STOCK . "
										  WHERE products_id=" . $products['products_id'] ."
										  ORDER BY products_stock_attributes");
	  $products_stock_rows=tep_db_num_rows($products_stock_query);
   // Highlight products with low stock
				   if ($products['products_quantity'] > STOCK_REORDER_LEVEL){
	    $trclass="dataTableRow";
		 } else {
	  $trclass="OutofStock";
	   }
	  
	  //if (($products['products_quantity'] > (-1)) || ($products_stock_rows > 0)) {  //Note from Olof Larsson: I commented this out as we would like to se oversold products to. We would like to see the stockreport for ALL products regardles quantity right?
	    $products_quantity= $products['products_quantity'];
	    $products_price=($products_stock_rows > 0) ? '&nbsp;' : $currencies->format($products['products_price']);
?>
			
			 
			  <?php
			 
			   /////////////////  Add Attributes
			  
			  
	    if ($products_stock_rows > 0) {
		  $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='" . $products['products_id'] . "'
													   AND patrib.options_id = popt.products_options_id
													   AND popt.products_options_track_stock = '1'
													   AND popt.language_id = '" . (int)$languages_id . "'
													   ORDER BY popt.products_options_id");			  
	  
?>
<td colspan="4"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1.2'); ?></td>
	    <tr class="dataTableRow">
			   <td class="dataTableContent" cellpadding="2"><?php echo '<a href="' . tep_href_link(FILENAME_STOCK, 'product_id=' . $products['products_id']) . '">' . $products['products_name'] .'</a>'; ?>&nbsp;</td>
	  <td class="dataTableContent" cellpadding="2"><?php echo $products['products_model']; ?></td>
			   <td class="dataTableContent" cellpadding="2"><?php echo $products_quantity; ?></td>
			   <td class="dataTableContent" align="right" cellpadding="2"><?php echo $products_price; ?>&nbsp;</td>
	  <td><BR></td>
			  </tr>
	
	  <tr class="dataTableRow">
			  <td class="main">
			    <table border="0" width="100%" cellspacing="0" cellpadding="2">
				  <tr class="dataTableRowSelected">
<?php
		  // build headng line with option names
		  while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
		    echo "				    <td class=\"smalltext\">&nbsp;<u>" . $products_options_name['products_options_name'] . "</u></td>\n";
		  }
?>
				  </tr>
<?php
		  // buld 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 = '" . $products['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;
		  }
   
		  // now display the attribute value names, table the html for quantity & price to get everything
		  // to line up right
    $model_html_table="			    <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">\n";
		  $model_html_table.="				  <tr class=\"dataTableRowSelected\"><td class=\"smalltext\" colspan=\"" . sizeof($products_options_array) . "\">&nbsp;</td></tr>\n";
		  $quantity_html_table="			   <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">\n";
		  $quantity_html_table.="				  <tr class=\"dataTableRowSelected\"><td class=\"smalltext\" colspan=\"" . sizeof($products_options_array) . "\">&nbsp;</td></tr>\n";
		  $price_html_table="			    <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">\n";
		  $price_html_table.="				  <tr class=\"dataTableRowSelected\"><td class=\"smalltext\" colspan=\"" . sizeof($products_options_array) . "\">&nbsp;</td></tr>\n";
		  while($products_stock_values=tep_db_fetch_array($products_stock_query)) {
		    $attributes=explode(",",$products_stock_values['products_stock_attributes']);
		    echo "				  <tr class=\"dataTableRowSelected\">\n";
  
   $model_html_table.="				  <tr class=\"dataTableRowSelected\">\n";
		    $quantity_html_table.="				  <tr class=\"dataTableRowSelected\">\n";
		    $price_html_table.="				  <tr class=\"dataTableRowSelected\">\n";
		    $total_price=$products['products_price'];
  
   // Highlight products out of stock
	   if (($products_stock_values['products_stock_quantity']) > STOCK_REORDER_LEVEL){
	    $trclassstock="dataTableContent";
		 } else {
	  $trclassstock="OutofStockAttrib";
	   }
	 
	 
		    foreach($attributes as $attribute) {
			  $attr=explode("-",$attribute);
			  echo "<td class=\" " . $trclassstock . " \" >&nbsp;&nbsp;".tep_values_name($attr[1])."</td>\n";
			  $total_price+=$attributes_price[$attr[0]][$attr[1]];
		    }
    $total_price=$currencies->format($total_price);
		    echo "				  </tr>\n";
   $model_html_table.="<td class=\"" . $trclassstock . " \">&nbsp;</td>\n";
   $model_html_table.="</tr>\n";
		    $quantity_html_table.="<td class=\"" . $trclassstock . " \">" . $products_stock_values['products_stock_quantity'] . "</td>\n";
		    $quantity_html_table.="</tr>\n";
		    $price_html_table.="<td align=\"right\" class=\" " . $trclassstock . " \">" . $total_price . "&nbsp;</td>\n";
		    $price_html_table.="</tr>\n";
		  }
		  echo "			    </table>\n";
		  echo "			  </td>\n";
    $model_html_table.="			    </table>\n";
		  $quantity_html_table.="			    </table>\n";
		  $price_html_table.="			    </table>\n";
		  echo "			  <td class=smalltext>" . $model_html_table . "</td>\n";
		  echo "			  <td class=smalltext>" . $quantity_html_table . "</td>\n";
    echo "			  <td class=smalltext>" . $price_html_table . "</td>\n";
		  echo "		    </tr>\n";
	   
  }
    else { ?>
	 <td colspan="4"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1.2'); ?></td>
			    <tr class="<?php echo $trclass; ?>">
   
			   <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_STOCK, 'product_id=' . $products['products_id']) . '">' . $products['products_name'] .'</a>'; ?>&nbsp;</td>
			   <td class="dataTableContent"><?php echo $products['products_model']; ?></td>
			   <td class="dataTableContent"><?php echo $products_quantity; ?></td>
			   <td class="dataTableContent" align="right"><?php echo $products_price; ?>&nbsp;</td>
	  <td><BR></td>
			  </tr>
	
	 <?php }
  //} //Note from Olof Larsson: I commented this out as we would like to se oversold products to. We would like to see the stockreport for ALL products regardles quantity right?
  ////////////////////////// End Attributes
 
  }
  
?>
			  <tr>
			    <td colspan="4"><?php echo tep_draw_separator(); ?></td>
			  </tr>
		    </table></td>
		  </tr>
	    </table></td>
	  </tr>
    </table>
   
	    <?php
  require(DIR_WS_INCLUDES . 'template_bottom.php');
  require(DIR_WS_INCLUDES . 'application_bottom.php');
?>

think the area i need to edit it the table row data, not sure how, thanks

#3   clippers

clippers
  • Members
  • 86 posts

Posted 10 July 2012 - 14:58

Ive managed to create headers for the table but im not able to move the options and quantity ;-/

#4   clippers

clippers
  • Members
  • 86 posts

Posted 10 July 2012 - 19:38

Any Help ? any idea's? been at this for ages now and i cant seem the get it right

oh and i was also hoping to put in the original quantity of the stock,