You are here:  » Multiple featured products

Support Forum



Multiple featured products

Submitted by ph on Sat, 2010-02-06 19:08 in

Hi there

I tried to implement the solution to get different featured products, as explained here: http://www.pricetapestry.com/node/3243

Can't seem to get it to work - the actual featured content does not appear on the page. Does this solution require you have the latest version of Price Tapestry?

ph

Submitted by support on Mon, 2010-02-08 09:33

Hi,

Yes, that version is for 11/09A distribution. Here's the equivalent code for the original version...

<?php
  
unset($featured);
  
$sql "SELECT * FROM `".$config_databaseTablePrefix."featured` WHERE name LIKE '".$featuredproducts_category."/%' ORDER BY sequence";
  if (
database_querySelect($sql,$rows))
  {
    
$sqlNames = array();
    
$sqlCase "CASE name";
    foreach(
$rows as $featured)
    {
      
$featured["name"] = str_replace($featuredproducts_category."/","",$featured["name"]);
      
$sqlNames[] = "'".$featured["name"]."'";
      
$sqlCase .= " WHEN '".database_safe($featured["name"])."' THEN ".$featured["sequence"];
    }
    
$sqlCase .= " END AS sequence";
    
$sqlIn implode(",",$sqlNames);
    
$sql "SELECT * , MIN( price ) AS minPrice, MAX( price ) AS maxPrice, COUNT( id ) AS numMerchants, ".$sqlCase." FROM `".$config_databaseTablePrefix."products` WHERE name IN (".$sqlIn.") GROUP BY name ORDER BY sequence";
    
database_querySelect($sql,$rows);
    
$featured["products"] = $rows;
    foreach(
$featured["products"] as $k => $product)
    {
      if (
$config_useRewrite)
      {
        
$featured["products"][$k]["productHREF"] = $config_baseHREF."product/".tapestry_hyphenate($product["name"]).".html";
        
$featured["products"][$k]["reviewHREF"] = $config_baseHREF."review/".tapestry_hyphenate($product["name"]).".html";
      }
      else
      {
        
$featured["products"][$k]["productHREF"] = $config_baseHREF."products.php?q=".urlencode($product["name"]);
        
$featured["products"][$k]["reviewHREF"] = $config_baseHREF."reviews.php?q=".urlencode($product["name"]);
      }
    }
  }
  if (isset(
$featured)) require("html/featured.php");
?>

Cheers,
David.

Submitted by ph on Mon, 2010-02-08 20:58

Works a treat, thanks.

ph