getRatingByProduct($product->virtuemart_product_id); if (is_object($productrating)) { $productratingcount = $productrating->ratingcount; } else { $productratingcount = '0'; } $canonicalUrl = JUri::getInstance()->toString(array('scheme', 'host', 'port')).JRoute::_($product->canonical); $name = vRequest::vmSpecialChars(strip_tags($product->product_name)); if (VmConfig::get('show_manufacturers', 1)){ $brand = (!empty($product->mf_name)? $product->mf_name : ''); } else { $brand = ''; } $sku = (!empty($product->product_sku)? $product->product_sku : ''); $productID = $sku; $mpn = (!empty($product->product_mpn)? $product->product_mpn : ''); $review = (!empty($ratingModel->ids[0]->comment)? $ratingModel->ids[0]->comment : ''); $author = (!empty($ratingModel->ids[0]->name)? $ratingModel->ids[0]->name : ''); //do something sensible and not fixed with valid price date $priceUntil = ''; if(!empty($product->prices["product_price_publish_down"])){ $DownDate = new DateTime($product->prices["product_price_publish_down"]); $DownCalcDate = new DateTime(); if ($DownDate > $DownCalcDate) { $priceUntil = $DownDate->format( "Y-m-d" ); } } else { // $DownCalcDate->modify('+20 years'); // $priceUntil = $DownCalcDate->format( "Y-m-d" ); // dont show an end to this price if there is not one $priceUntil = ''; } //GJC and Roderic look for parent & for child stock //$stockog = 'InStock'; $stockhandle = VmConfig::get ('stockhandle', 'none'); $finalstk = $product->product_in_stock - $product->product_ordered; if ($stockhandle == 'none') { $stockog = 'InStock'; } elseif ($stockhandle == 'disableit_children' and $product->product_parent_id == 0) { $prodmodel = VmModel::getModel ('product'); $children = $prodmodel->getProductChilds($product->virtuemart_product_id); $finalstk = $product->product_in_stock - $product->product_ordered; foreach($children as $child){ $finalstk += $child->product_in_stock - $child->product_ordered; } } else { $finalstk = $product->product_in_stock - $product->product_ordered; } if ($finalstk != 0) { $stockog = 'InStock'; } if ($finalstk == 0) { $stockog = 'OutOfStock'; } //check for meta if empty move onto using product data if (!empty($document->getMetaData('description'))) { $description = $document->getMetaData('description'); } if (empty($description)){ if (!empty($product->product_s_desc)){ $description = $product->product_s_desc; } else { $description = $product->product_desc; } } $description = str_replace('"','\"',vRequest::vmSpecialChars(strip_tags($description))); //vmdebug('my customfields ',$product); $extra = ''; if(!empty($product->customfieldsSorted['snippet'])){ foreach ($product->customfieldsSorted['snippet'] as $customfield) { $extra .= '"'.$customfield->custom_title.'": "'.$customfield->customfield_value.'",'; } $extra = substr($extra,0,-1); } //} ?>