Hi Tom,
This is what you have to do:
Add this line to the end of the "department" SCREEN
include(APPLICATION_ROOT . "modules/screens/item_dep"); //(This line
goes inside the last "While" statement on the "department" page.)
Create a new file "item_dep (modified version of "item")
It works with FreeTrade-20000226 - FreeTrade-20000228
<?php
/*
** File: item_dep
** Description: show item ADD on the department level
*/
//get attribute functions
include(APPLICATION_ROOT . "/modules/include/attribute_functions");
//get item functions
require(APPLICATION_ROOT . "/modules/include/item_functions");
//get item info
$Item = GetItemInfo($item);
if( !isset($department) )
{
//get the department for this item
$department = $Item["Department"][0];
}
$department = intval($department);
if(isset($Item["ID"]))
{
/*
** Output the item name and description.
*/
//get sku giftwrap-ability
$Query = "SELECT SKU ";
$Query .= "FROM sku_variation ";
$Query .= "WHERE Variation = " . getVariationID(getAttributeID("Gift
Wrap"), "Available") . " ";
$Query .= "AND SKU in (0";
for($index = 0; $index < count($Item["SKU"]["ID"]); $index++)
{
$Query .= ", " . $Item["SKU"]["ID"][$index];
}
$Query .= ") ";
$DatabaseResult_ = mysql_query($Query, $DatabaseLink);
while($DatabaseRow_ = mysql_fetch_row($DatabaseResult_))
{
$GiftWrap[($DatabaseRow_[0])] = TRUE;
}
//list SKUs
$BackorderedItems = FALSE;
print("<TABLE BORDER=\"0\">\n");
for($index = 0; $index < count($Item["SKU"]["ID"]); $index++)
{
print("<TR>\n");
print(StartForm("department", 'post', 'ADD_BASKET', FALSE,
array("department"=>$department,
"item"=>$item,
"sku"=>$Item["SKU"]["ID"][$index])));
//gift wrap status
print("<TD VALIGN=\"center\">");
if( isset($GiftWrap[($Item["SKU"]["ID"][$index])]) )
{
print("<FONT SIZE=\"1\">" . L_ITEM_GIFTWRAP .
"</FONT>");
}
else
{
print(" ");
}
print("</TD>\n");
print("<TD VALIGN=\"center\">");
print(prepareText($Item["SKU"]["Name"][$index]));
print("(" .prepareText($Item["SKU"]["ExternalSKU"][$index]).
")");
print("</TD>\n");
print("<TD VALIGN=\"center\">");
if($Item["SKU"]["SalePrice"][$index] > 0)
{
print(" " .
formatMoney($Item["SKU"]["SalePrice"][$index]));
}
else
{
print(" " .
formatMoney($Item["SKU"]["ListPrice"][$index]));
}
if($Item["SKU"]["Shipping"][$index] > 0)
{
print(" (" .
formatMoney($Item["SKU"]["Shipping"][$index]) . ")");
}
print("</TD>\n");
/*
** get SKU attributes with more than one variation
*/
//get list of attributes as comma-separated list
//this allows us to drop it right into the SQL
$MultiAttributes = "0"; //seed with dummy value
$Query = "SELECT v.Attribute, COUNT(v.Attribute) ";
$Query .= "FROM sku_variation sv, variation v ";
$Query .= "WHERE sv.Variation = v.ID ";
$Query .= "AND sv.SKU = " . $Item["SKU"]["ID"][$index] . " ";
$Query .= "GROUP BY v.Attribute ";
$Query .= "ORDER BY 2 DESC ";
$DatabaseResult_ = mysql_query($Query, $DatabaseLink);
while($DatabaseRow_ = mysql_fetch_row($DatabaseResult_))
{
if($DatabaseRow_[1] > 1)
{
$MultiAttributes .= ", $DatabaseRow_[0]";
}
}
//get full variation info
$Query = "SELECT a.ID, a.Name, v.ID, v.Name ";
$Query .= "FROM sku_variation sv, variation v, attribute a ";
$Query .= "WHERE sv.SKU = " . $Item["SKU"]["ID"][$index] . " ";
$Query .= "AND sv.Variation = v.ID ";
$Query .= "AND v.Attribute = a.ID ";
$Query .= "AND a.ID in ($MultiAttributes) ";
$Query .= "ORDER BY a.DisplayPrecedence, a.Name ";
/* Execute query. */
if ( !($DatabaseResult_ = mysql_query($Query, $DatabaseLink)) )
{
print("<!-- " . mysql_errno() . ": " . mysql_error() .
"Query was $Query -->\n");
}
else
{
if ( !mysql_num_rows($DatabaseResult_))
{
/* No select. */
}
else
{
$last_attr = 0;
while($DatabaseRow_ =
mysql_fetch_row($DatabaseResult_))
{
$tAttributeID = $DatabaseRow_[0];
$tAttributeName = $DatabaseRow_[1];
$tVariationID = $DatabaseRow_[2];
$tVariationName = $DatabaseRow_[3];
if($last_attr != $tAttributeID)
{
if($last_attr != 0)
{
print("</SELECT>\n");
print("</TD>\n");
}
print("<TD
VALIGN=\"center\">\n");
print("<SELECT
NAME=\"inputVariation[]\">\n");
print("<OPTION
VALUE=\"$tVariationID\" SELECTED>");
print(prepareText($tAttributeName));
print("\n");
$last_attr = $tAttributeID;
}
print("<OPTION
VALUE=\"$tVariationID\">");
print(prepareText($tVariationName));
print("\n");
}
print("</SELECT>\n");
print("</TD>\n");
}
}
//submit button for adding item to basket
print("<TD VALIGN=\"center\">");
//check inventory levels
//Total items in warehouse = Available + Reserve
if($Item["SKU"]["Available"][$index] +
$Item["SKU"]["Reserve"][$index] > 0)
{
print("<INPUT TYPE=\"SUBMIT\" NAME=\"basket_button\"
VALUE=\"Add\">");
}
elseif($Item["SKU"]["Backorder"][$index] == 'Y')
{
print("<INPUT TYPE=\"SUBMIT\" NAME=\"basket_button\"
VALUE=\"Backorder *\">");
$BackorderedItems = TRUE;
}
else
{
print("<B>Out of Stock</B>");
}
//user must be logged in to use wishlist
if($UserInfo["ID"] > 0)
{
print("<INPUT TYPE=\"SUBMIT\" NAME=\"wishlist_button\"
VALUE=\"Add
To Wishlist\">");
}
print("</TD>\n");
print("</FORM>\n");
print("</TR>\n");
}
print("</TABLE>\n");
if($BackorderedItems)
{
print(L_ITEM_BACKORDERED . "<BR>");
}
showRelationship($Item, 'Cross-Sell', "Similar Items:");
showRelationship($Item, 'Accessory', "Accessories:");
}
else
{
print(L_ITEM_UNAVAILABLE);
}
?>
Done.
> Tom Jakobsen wrote:
>
> Hi
>
> Im a PHP newbie, and are working with Freetrade.
>
> I want to let the users be able to buy products directly from the
> department->itemlisting. How can i add SKU-prices , and the "Add to
> basket" button to each product ?
>
> Thanks
>
> Cheers
>
> Tom
--
Marek Stanczyk
Integration Specialist
[EMAIL PROTECTED]
Web++ Inc. "Dynamic Internet Solutions"
3415 Dixie Road, Suite 512 Mississauga, Ontario L4Y 2B1
Tel: 905-566-1215 Fax: 905-566-8543
Internet: www.webplusplus.com
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Site: http://www.working-dogs.com/freetrade/
Problems?: [EMAIL PROTECTED]