Thread: Newest Products
View Single Post
  #1  
Old 01-01-2003, 07:24 AM
 
funkydunk funkydunk is offline
 

X-Man
  
Join Date: Oct 2002
Location: Cambridge, UK
Posts: 2,210
 

Default Newest Products

Cyberactive and I have been working on a module that shows up products added into the shop over the last week and have come up with the code below to show this on your home page.

Try this - it works fine and dandy in 3.2.2

First create a new php file customer/newest.php
Code:
<? // set variables $daterange = 604800; // 60 * 60 * 24 * 7 days in unix time $nowtime = time(); $oldtime = $nowtime - $daterange ; // the database query $query = "SELECT * FROM $sql_tbl[products],$sql_tbl[pricing] WHERE forsale='Y' AND avail>0 AND $sql_tbl[products].productid=$sql_tbl[pricing].productid AND add_date > " . $oldtime . " AND add_date < " . $nowtime . " ORDER BY xcart_products.productID DESC LIMIT 0,5 "; // give the product array to smarty to make it available sitewide. $newproducts = func_query($query); $smarty->assign("newproducts",$newproducts); ?>

This is set to select 5 products added within the last week but you can change the timespan to whatever you like by changing the daterange variable. This is unix time so is calculated in seconds.

Second, add into the customer/home.php file after the require featured.php bit

Code:
require "./newest.php";

Third, create a newest.tpl template:
Code:
{* $Id: newest.tpl,v 1.13 2002/05/20 06:55:20 lucky Exp $ *} {capture name=dialog} {if $newproducts ne ""} {include file="customer/main/products.tpl" products=$newproducts} {else} {$lng.txt_no_new} {/if} {/capture} {include file="dialog.tpl" title=$lng.lbl_new_products content=$smarty.capture.dialog extra="width=100%"}

You will note in here two extra fields to the languages part, one in labels for the heading to the section then a second one to show if there are no new prodoucts.

Fourth - amend home_main.tpl to
Code:
{if $smarty.get.mode eq "subscribed"} {include file="main/subscribe_confirmation.tpl"} {elseif $smarty.get.mode eq "unsubscribed"} {include file="main/unsubscribe_confirmation.tpl"} {elseif $main eq "search"} {include file="customer/main/search_result.tpl"} {elseif $main eq "advanced_search"} {include file="customer/main/advanced_search.tpl"} {elseif $main eq "cart"} {include file="customer/main/cart.tpl"} {elseif $main eq "wishlist"} {if $active_modules.Wishlist ne ""} {include file="modules/Wishlist/wishlist.tpl"} {/if} {elseif $main eq "anonymous_checkout"} {include file="customer/main/anonymous_checkout.tpl"} {elseif $main eq "order_message"} {include file="customer/main/order_message.tpl"} {elseif $main eq "checkout"} {include file="customer/main/checkout.tpl"} {elseif $main eq "product"} {include file="customer/main/product.tpl" product=$product} {elseif $main eq "giftcert"} {include file="modules/Gift_Certificates/giftcert.tpl"} {elseif $main eq "subscriptions"} {include file="modules/Subscriptions/subscriptions.tpl"} {elseif $main eq "catalog" and $current_category.category eq ""} {include file="customer/main/welcome.tpl" f_products=$f_products newproducts=$newproducts} {elseif $main eq "catalog"} {include file="customer/main/subcategories.tpl" cat=$cat} {else} {include file="common_templates.tpl"} {/if}

Fifth and finally - amended the welcome.tpl template to the following:
Code:
{* $Id: welcome.tpl,v 1.21 2002/09/10 12:36:34 zorg Exp $ *} {if ($active_modules.Greet_Visitor ne "") AND ($smarty.cookies.GreetingCookie ne "")} <h3>{$lng.lbl_welcome_back}, {$smarty.cookies.GreetingCookie} </h3> {else} <h3>{$lng.lbl_welcome_to} { $config.Company.company_name }</h3> {/if} {$lng.txt_welcome} {if $active_modules.Bestsellers ne "" and $config.Modules.bestsellers_menu ne "Y"} {include file="modules/Bestsellers/bestsellers.tpl"} {/if} {include file="customer/main/featured.tpl" f_products=$f_products} {include file="customer/main/newest.tpl" newproducts=$newproducts}

Not sure whether this works with 3.3.

Enjoy
__________________
ex x-cart guru
Reply With Quote